home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / MATHS / RLAB / RLAB125.ZIP / !RLaB / ChangeLog < prev    next >
Text File  |  1995-03-29  |  80KB  |  2,888 lines

  1. Sun Mar 26 19:26:27 1995  Ian R. Searle  <ian@espresso>
  2.  
  3.     * configure.in: Add some more options for OSF cc.
  4.  
  5.     * getline.c (Strsplt): Remove floor() usage. It is not really
  6.     needed, and this way brain-dead HP-UX produce working code.
  7.  
  8. Sat Mar 25 09:50:16 1995  Ian R. Searle  <ian@espresso>
  9.  
  10.     * fpe.c: Fix def flag inconsitency (affects OSF machines).
  11.  
  12.     * configure.in: Add CC def for OSF.
  13.  
  14. Sun Mar 19 19:15:52 1995  Ian R. Searle  <ian@espresso>
  15.  
  16.     * scan.l: Fixed lineno counting problem with comments...
  17.  
  18. Mon Mar 13 10:21:16 1995  Ian R. Searle  <ian@espresso>
  19.  
  20.     * rlib/printmat.r (printmat): Some more minor adjustments to get
  21.     things to line up a little better.
  22.  
  23.     * bltin1.c: make length return string length for 1-by-1 string
  24.     matrix. 
  25.     (Format): Make format() return a matrix (1-by-2) of the OLD format
  26.     values. Also make format() take a matrix as input.
  27.  
  28. Sun Mar 12 20:07:54 1995  Ian R. Searle  <ian@espresso>
  29.  
  30.     * rlib/printmat.r (printmat): Add some simple error checking, and
  31.     touch up comments.
  32.  
  33. Mon Mar  6 07:07:49 1995  Ian R. Searle  <ian@espresso>
  34.  
  35.     * Makefile.in (distclean): Clean up the commands some.
  36.  
  37. Sun Mar  5 10:27:59 1995  Ian R. Searle  <ian@espresso>
  38.  
  39.     * toolbox/lagrange.r (lagrange): Fixed bug reported by Karl S. 
  40.     (i != [])
  41.  
  42.     * toolbox/roots.r: New roots() from Tzong-Shuoh Yang.
  43.  
  44.     * misc/plplot.r (plot): Add textf so plotting on DOS-like systems
  45.     can have the option not to return to text mode. This is very
  46.     useful for doing multi-plot pages.
  47.  
  48.     * test (sprintf test): Added more complexity to test coercion.
  49.  
  50.     * print.c (do_printf): Really coerce all matrices into scalars.
  51.  
  52.     * util.c (convert_to_scalar_really): New function.
  53.  
  54. Sat Mar  4 23:30:07 1995  Ian R. Searle  <ian@espresso>
  55.  
  56.     * opmat.c (matrix_vector_sub): Try commenting out the business
  57.     where we convert a[1] or a[1;1] to a scalar, cause it has scalar
  58.     dimension.
  59.  
  60.     * misc/gnuplot.r: Update from Karl.
  61.  
  62. Wed Feb 22 18:30:26 1995  Ian Searle  <ian@espresso>
  63.  
  64.     * configure.in: CC options for AIX.
  65.  
  66.     * matrix.c (matrix_AssignRow): Fix embarrasing bug in matrix
  67.     assignment... missing the `=' in `<='.
  68.  
  69. Sat Feb 18 09:55:35 1995  Ian Searle  <ian@espresso>
  70.  
  71.     * config.h.in: Use `#ifdef __STDC__' instead of `#if __STDC__'.
  72.  
  73.     * configure.in: Always remove config.cache at the conclusion of
  74.     each configure.
  75.  
  76. Thu Feb 16 18:34:08 1995  Ian Searle  <ian@espresso>
  77.  
  78.     * opmat.c (matrix_assign): Fix 'a[i;j] = a' problem.
  79.     (matrix_vector_assign): Same.
  80.  
  81. Mon Feb 13 20:53:42 1995  Ian Searle  <ian@espresso>
  82.  
  83.     * matop1.c (matrix_scalar_ne): Special case SCALAR != [].
  84.     (matrix_scalar_eq): Same.
  85.     (matrix_eq): Same.
  86.     (matrix_ne): Same.
  87.  
  88. Sat Feb 11 20:20:47 1995  Ian Searle  <ian@espresso>
  89.  
  90.     * opmat.c (matrix_reshape_col): Special case when arg = []
  91.  
  92. Fri Feb 10 20:20:49 1995  Ian Searle  <ian@espresso>
  93.  
  94.     * help/eig: Updated this help file.
  95.  
  96.     * bltin1.c (Members): Change `List' to `L'.
  97.  
  98. Sun Feb  5 19:39:05 1995  Ian Searle  <ian@espresso>
  99.  
  100.     * fi_1.c (matrix_Eig_GNEPa): Fixed core dump due to wrong starting
  101.     index in eval computation.
  102.     (matrix_Eig_GNEPa): Order of arguments backwards, left and right
  103.     eigenvectors switched.
  104.  
  105. Sat Feb  4 08:34:32 1995  Ian Searle  <ian@espresso>
  106.  
  107.     * Release v1.18a
  108.  
  109.     * getline.c (Strsplt): Added 2nd arg to split on strings or field
  110.     widths. 
  111.  
  112.     * util.c (cpnstr): New function.
  113.  
  114.     * getline.c (Getline): Make reading in a single string faster.
  115.  
  116. Thu Jan 26 19:56:22 1995  Ian Searle  <ian@espresso>
  117.  
  118.     * getline.c (Getline): Check for EOF, with 2nd arg.
  119.  
  120. Tue Jan 24 20:08:59 1995  Ian Searle  <ian@espresso>
  121.  
  122.     * Version 1.17d released.
  123.  
  124.     * rfile.c (require): Check to see if the variable required is an
  125.     UNDEF. 
  126.  
  127. Sun Jan 22 19:46:44 1995  Ian Searle  <ian@espresso>
  128.  
  129.     * test (listest): Add open-list assignment test.
  130.  
  131.     * code.c (olist_assign): New function.
  132.  
  133. Mon Jan 16 23:16:05 1995  Ian Searle  <ian@espresso>
  134.  
  135.     * rlib/intersection.r (intersection): Initialize Int=[]. Thanks
  136.     Rogelio Oliva.
  137.  
  138. Sun Jan 15 18:58:43 1995  Ian Searle  <ian@espresso>
  139.  
  140.     * math_1.c (Frexp): New function.
  141.  
  142. Tue Jan 10 19:01:56 1995  Ian Searle  <ian@espresso>
  143.  
  144.     * rlib/input.r (input): Check STRING arg to see if it exists.
  145.  
  146. Sun Jan  8 12:05:58 1995  Ian Searle  <ian@espresso>
  147.  
  148.     * getline.c (Getline): Allow getline to read in an entire line as
  149.     a single string.
  150.  
  151. Mon Jan  2 10:26:55 1995  Ian Searle  <ian@espresso>
  152.  
  153.     * bio.c (btree_WriteB): Write the number of _real_ nodes in the
  154.     tree. 
  155.  
  156.     * btree.c (btree_Write): Write the number of _real_ nodes in the
  157.     tree. 
  158.  
  159. Tue Dec 27 00:17:37 1994  Ian Searle  <ian@espresso>
  160.  
  161.     *  (toolbox/hilbert.r): New file.
  162.  
  163.     * math_2.c (Norm): Compute infinity norm when 2nd argument to
  164.     norm() is an Inf.
  165.  
  166. Mon Dec 26 12:26:54 1994  Ian Searle  <ian@espresso>
  167.  
  168.     * scan.l: Increment lineno on end of RFILE_COND and REQ_COND.
  169.  
  170. Fri Dec 23 14:20:54 1994  Ian Searle  <ian@espresso>
  171.  
  172.     * Version 1.16b released...
  173.  
  174. Thu Dec 22 20:51:27 1994  Ian Searle  <ian@espresso>
  175.  
  176.     *  (doc/rlabp.tex): Incorporated Dave Raymon's primer patches so
  177.     that is works OK under laTeX-2e.
  178.  
  179. Sun Dec 18 18:27:07 1994  Ian Searle  <ian@espresso>
  180.  
  181.     * rfile.c (require): New function.
  182.  
  183.     * bltin2.c: Set tictime to -1 (initialize) so it works on older
  184.     SunOSes.
  185.  
  186. Fri Dec 16 20:41:01 1994  Ian Searle  <ian@espresso>
  187.  
  188.     * fpe.c: Added include <math.h> for HP-UX.
  189.     Added some stuff for the DEC-alpha (still doesn't work like I want
  190.     it to).
  191.  
  192.     * bltin2.c (Tic): Use sysconf instead of CLK_TCK.
  193.  
  194. Thu Dec 15 22:01:20 1994  Ian Searle  <ian@espresso>
  195.  
  196.     * r_plot.c: Change header includes per tsy's suggestions. 
  197.     Go back... plConfig.h is only installed for Mac and Amigas. Causes
  198.     problems with Unix installations.
  199.  
  200. Mon Dec 12 22:54:11 1994  Ian Searle  <ian@espresso>
  201.  
  202.     * fpe.c: Add in change for those systems that don't have either
  203.     ieee_handler or ieeefp.h (linux).
  204.  
  205. Sun Dec 11 16:42:33 1994  Ian Searle  <ian@espresso>
  206.  
  207.     * scan.l: Fix lineno counting on comments.
  208.  
  209.     * Release version 1.15e.
  210.  
  211. Sat Dec 10 11:30:10 1994  Ian Searle  <ian@espresso>
  212.  
  213.     * rfile.c (rfile_load): Mods to handle multiple file names, and
  214.     deal with optional `.r'.
  215.     (rfile_ext): New function.
  216.  
  217.     * scan.l: Overhaul rfile command scanning.
  218.  
  219.     * util.c (strappend): New function.
  220.  
  221. Thu Dec  8 19:20:07 1994  ian  <ian@espresso>
  222.  
  223.     * scan.l: Add Matlab style comments as an option.
  224.  
  225. Fri Dec  2 20:15:30 1994  ian  <ian@espresso>
  226.  
  227.     * scan.l: Allow comments on the same line as rfile and help.
  228.  
  229. Wed Nov 30 19:09:30 1994  ian  <ian@espresso>
  230.  
  231.     * rlib/compan.r: fixed bug in computation of A when n == 2.
  232.  
  233. Sun Nov 27 18:48:40 1994  ian  <ian@espresso>
  234.  
  235.     * misc/plplot.r: Several little mods: Added set3d(), mods to
  236.     pclose(), and subplot().
  237.  
  238.     * bltin2.c (Toc): New functions, utilizing times(), a more
  239.     accurate measurment device.
  240.  
  241. Thu Nov 24 10:44:49 1994  ian  <ian@espresso>
  242.  
  243.     * Update configure.in, Makefile.in, etc to use autoconf v2.x
  244.  
  245. Wed Nov 16 23:23:49 1994  ian  <ian@espresso>
  246.  
  247.     * Just moved the entire code-tree over to espresso (my new
  248.     Pentium). 
  249.  
  250. Wed Nov  9 21:53:35 1994  Ian Searle  <ian@quixote>
  251.  
  252.     * symbol.c (install_tmp_switch): Add BLTIN to switch.
  253.  
  254.     * code.c (bltin): Get the listnode on the tmplist for assign().
  255.  
  256.     * rdl.c (DLopen): Return a bltin, not a listnode.
  257.  
  258. Tue Nov  8 06:16:06 1994  Ian Searle  <ian@quixote>
  259.  
  260.     * code.c (load_local_var): Use cpstr() for pass by value.
  261.  
  262.     * misc/plplot.r (pclose): Modify so that it can handle closing
  263.     when no plot windows exist.
  264.  
  265. Sun Nov  6 09:45:05 1994  Ian Searle  <ian@quixote>
  266.  
  267.     * Release v1.15b
  268.  
  269. Sat Oct 29 09:31:07 1994  Ian Searle  <ian@quixote>
  270.  
  271.     * function.c (function_setup2): Cut back size of program array. 
  272.  
  273.     * code.c (list_create): Change list-element create name to "-L-". 
  274.  
  275.     * Revised all flow-control logic. Instead of using ifcode(),
  276.     forcode(), whilecode(), the parser now generates codes for
  277.     conditional jumps and for loop construction with explicit
  278.     jumps. This required significant changes to main.c, rlab.y
  279.     code.[ch], diss.c, etc...
  280.  
  281. Fri Oct 28 23:17:15 1994  Ian Searle  <ian@quixote>
  282.  
  283.     * scalar.c (scalar_CreateC): Remove references to obsolete `dtype'
  284.     structure member.
  285.  
  286.     * symbol.c (install_tmp): Change tmplist scheme to include a
  287.     tmpstack of already allocated ListNodes in an effort to save time
  288.     during execution.
  289.  
  290. Fri Oct 21 20:50:50 1994  Ian Searle  <ian@quixote>
  291.  
  292.     * Release v1.13b.
  293.  
  294. Sat Oct  8 15:30:53 1994  Ian Searle  <ian@quixote>
  295.  
  296.     * fi_1.c (matrix_Det_Complex): Warn and return zero when matrix is
  297.     singular. 
  298.     (matrix_Det_Real): Same as above.
  299.  
  300. Thu Oct  6 20:02:14 1994  Ian Searle  <ian@quixote>
  301.  
  302.     * code.c (copy_arg): Copy name to data structure.
  303.  
  304. Fri Sep 30 20:11:13 1994  Ian Searle  <ian@quixote>
  305.  
  306.     * scan.l (new_file): Try and repair some small mem leaks (bst).
  307.  
  308.     * util.c (btree_members): Fix memory leak (bst).
  309.  
  310. Thu Sep 29 23:05:11 1994  Ian Searle  <ian@quixote>
  311.  
  312.     * misc/plplot.r (plot3): Take care of log-log-log data
  313.     possibility. 
  314.  
  315. Wed Sep 28 19:36:39 1994  Ian Searle  <ian@quixote>
  316.  
  317.     * odei.c (odei): Add optional last argument (8), a user supplied
  318.     output function.
  319.     (out_func): New function.
  320.  
  321. Sun Sep 25 19:46:29 1994  Ian Searle  <ian@quixote>
  322.  
  323.     * matop2.c (matrix_ReadGeneric): Check fscanf() return value.
  324.  
  325. Sat Sep 24 11:27:43 1994  Ian Searle  <ian@quixote>
  326.  
  327.     * code.c (load_local_var): Add nargin initialization.
  328.  
  329.     * misc/plplot.r: Check for previously existing WIN
  330.     before creating new one.
  331.  
  332. Mon Sep 19 18:33:14 1994  Ian Searle  <ian@quixote>
  333.  
  334.     * BIG CHANGE: Undeclared function variables are default local
  335.     now. 
  336.  
  337. Sat Sep 17 09:13:57 1994  Ian Searle  <ian@quixote>
  338.  
  339.     * configure.in: Make configure look for plplot in
  340.     /usr/local/plplot and /usr/local/... Also make trying to use
  341.     dynamic linking standard, and well as using the case statement for
  342.     option flags.
  343.  
  344. Thu Sep 15 17:12:56 1994  Ian Searle  <ian@quixote>
  345.  
  346.     * misc/plplot.r (y_scales): More bug fixes in y_scale().
  347.  
  348. Tue Sep 13 22:20:15 1994  Ian Searle  <ian@quixote>
  349.  
  350.     * r_plot.c (_plot_plsfile): New function.
  351.  
  352. Mon Sep 12 20:31:29 1994  Ian Searle  <ian@quixote>
  353.  
  354.     * rdl.c (DLopen): Check for RTLD_NOW.
  355.  
  356.     * print.c (SPrintf): Change argument cleanup... use inlined
  357.     clean-up function...
  358.  
  359.     * math_1.c (Floor): Try and recover some speed from earlier
  360.     changes... 
  361.  
  362. Sat Sep 10 23:19:33 1994  Ian Searle  <ian@quixote>
  363.  
  364.     * Major overhaul to built-in function argument handling. Instead
  365.     of bltin() handling the argument tmp-cleanup, each builtin is now
  366.     responsible. This may sound more difficult, but it will be easier
  367.     in the long run, especially for people writing rex files.
  368.  
  369. Sun Sep  4 12:26:43 1994  Ian Searle  (ian@quixote)
  370.  
  371.     * main.c (Eval): Make eval() work with any kind of string (matrix,
  372.     or scalar).
  373.  
  374.     * test: New tests for factor/backsub, real/complex ,
  375.     general/symmetric. 
  376.  
  377.     * Add symmetric linear equation solver usage for solve(), `\',
  378.     factor, and backsub.
  379.  
  380. Wed Aug 24 19:15:31 1994  Ian Searle  (ian@quixote)
  381.  
  382.     * bltin2.c (Putenv): New function.
  383.  
  384.     * configure.in: Some bug fixes, and improvements...
  385.  
  386. Tue Aug 23 17:42:42 1994  Ian Searle  (ian@quixote)
  387.  
  388.     * function.c (function_Copy): Always create arg and local lists on
  389.     copy. 
  390.  
  391. Mon Aug 22 23:21:58 1994  Ian Searle  (ian@quixote)
  392.  
  393.     * matop2.c (matrix_Pow2): Added more complete checking of
  394.     element-by-element power ops for various combinations of scalars
  395.     and matrices.
  396.     (matrix_matrix_el_pow): Check individual matrix entries for proper
  397.     conditions. 
  398.  
  399. Sun Aug 21 00:22:58 1994  Ian Searle  (ian@quixote)
  400.  
  401.     * r_plot.c (_plot_plvasp): New function.
  402.     (_plot_plvpas): New function.
  403.  
  404.     * code.c (userf): Had the names in bacwards order.
  405.  
  406. Tue Aug 16 22:51:53 1994  Ian Searle  (ian@quixote)
  407.  
  408.     * misc/plplot.r (subplot): New function.
  409.  
  410.     * configure.in: Check for working rint.
  411.  
  412. Mon Aug 15 18:24:27 1994  Ian Searle  (ian@quixote)
  413.  
  414.     * bio.c: Fix four-byte word size.
  415.  
  416. Sun Aug 14 22:05:22 1994  Ian Searle  (ian@quixote)
  417.  
  418.     * Makefile.a: Use version number for TOPDIR.
  419.  
  420. Sat Aug 13 07:28:38 1994  Ian Searle  (ian@quixote)
  421.  
  422.     * r_plot.c (_plot_plstart): Add server no kill code for new plplot
  423.     (4.99h). 
  424.  
  425. Wed Aug 10 18:20:41 1994  Ian Searle  (ian@quixote)
  426.  
  427.     * util.c (fpecatch): More EMX changes (re-enable signal()).
  428.  
  429.     * code.c (intcatch_wait): Some changes to support EMX (OS/2).
  430.  
  431. Tue Aug  9 03:46:10 1994  Ian Searle  (ian@quixote)
  432.  
  433.     * matop2.c (matrix_matrix_Pow): New function.
  434.     (matrix_scalar_Pow1): Add 1-by-1 special case.
  435.  
  436.     * opmat.c (matrix_assign): Reset matrix name after re-init.
  437.  
  438.     * rdl.c (DLopen): Add dlerror() usage to dlsym() call.
  439.  
  440. Mon Aug  8 18:29:38 1994  Ian Searle  (ian@quixote)
  441.  
  442.     * matrix.c (matrix_read_string): Eat up last new line. 
  443.     (matrix_Read): Return early from string read.
  444.  
  445. Sun Aug  7 12:24:35 1994  Ian Searle  (ian@quixote)
  446.  
  447.     * Makefile.a: New file. Actually this is the original
  448.     Makefile.in. Now either Makefile.so or Makefile.a gets copied to
  449.     Makefile.in during configure.
  450.  
  451.     * Makefile.so: New file
  452.  
  453.     * Adding support for dynamic linking.
  454.  
  455.     * util.c (call_rlab_script): Remove check for number of arguments,
  456.     this is done in userf already, and is not valid if the function is
  457.     a builtin.
  458.  
  459. Tue Aug  2 23:50:29 1994  Ian Searle  (ian@quixote)
  460.  
  461.     * code.c: Clean up memory inefficieny in list member references.
  462.  
  463. Fri Jul 29 20:17:09 1994  Ian Searle  (ian@quixote)
  464.  
  465.     * Many changes to almost all files. Re-organize to reduce global
  466.     variable usage, and increase modularity (for dynamic linking).
  467.  
  468.     * code.c: Convert global variables to static.
  469.  
  470. Thu Jul 28 22:17:09 1994  Ian Searle  (ian@quixote)
  471.  
  472.     * code.c (whilecode): All this time and I was neglecting to clean
  473.     the conditional Datums...
  474.     (ifcode): Same as whilecode...
  475.  
  476.     * matop2.c (matrix_ReadGeneric): Fix to allow spaces after last
  477.     row element. Re-work 1st line logic.
  478.  
  479. Thu Jul 21 22:33:18 1994  Ian Searle  (ian@quixote)
  480.  
  481.     * install.sh: Switch to X11R5 install.sh.
  482.  
  483. Tue Jul 19 22:46:27 1994  Ian Searle  (ian@quixote)
  484.  
  485.     * fi_1.c: Added matrix_Detect_Inf and matrix_Detect_Nan calls.
  486.  
  487.     * matop3.c (matrix_Detect_Inf): New function.
  488.     (matrix_Detect_Nan): New function.
  489.  
  490.     * util.c: Removed a few no-longer used functions.
  491.  
  492. Mon Jul 18 19:33:26 1994  Ian Searle  (ian@quixote)
  493.  
  494.     * code.c (assign): Rework LHS checking for a teeny bit of speed.
  495.  
  496.     * op.c (ent_ent_add): Flatten switches.
  497.  
  498. Sun Jul 17 00:57:06 1994  Ian Searle  (ian@quixote)
  499.  
  500.     * matop2.c (matrix_matrix_el_pow): Handle 1-by-1 matrices.
  501.  
  502.     * code.c (execute): Change for to a while to speed things up a
  503.     tad. 
  504.  
  505.     * opmat.c (matrix_assign): Speed up a[i;j] = x, where i and j are
  506.     scalars. 
  507.  
  508.     * matrix.c (matrix_Assign_el): New function.
  509.  
  510. Sat Jul 16 15:14:40 1994  Ian Searle  (ian@quixote)
  511.  
  512.     * main.c (run_program_eval): Modify to only call yyparse once. 
  513.  
  514.     * code.c (forcode): Cleanup changes to forcode for readability.
  515.  
  516. Tue Jul 12 17:22:36 1994  Ian Searle  (ian@quixote)
  517.  
  518.     * matop2.c (matrix_Sign): New function.
  519.  
  520. Mon Jul 11 18:11:50 1994  Ian Searle  (ian@quixote)
  521.  
  522.     * listnode.h (listNode_GetKey): Make it a macro (faster).
  523.  
  524. Sat Jul  9 17:03:36 1994  Ian Searle  (ian@quixote)
  525.  
  526.     * bltin2.c (Eval): New function. Also affects scan.l, and
  527.     main.c. Now eval() will read from a string without the temporary
  528.     file. 
  529.  
  530.     * scan.l (set_rlab_input): New function.
  531.  
  532. Thu Jul  7 20:37:51 1994  Ian Searle  (ian@quixote)
  533.  
  534.     * code.c (list_assign): Missing break.
  535.  
  536. Wed Jul  6 21:42:49 1994  Ian Searle  (ian@quixote)
  537.  
  538.     * bio.c (Fseek): New function.
  539.     (Fread): New function.
  540.  
  541. Tue Jul  5 17:50:29 1994  Ian Searle  (ian@quixote)
  542.  
  543.     * matrix.c (matrix_Truncate): Check size before truncating.
  544.  
  545. Sun Jun 26 08:48:01 1994  Ian Searle  (ian@quixote)
  546.  
  547.     * Release v1.02
  548.  
  549.     * misc/plplot.r (grid_y_default): Make default grid without grid
  550.     lines at tick intervals.
  551.  
  552. Wed Jun 22 22:36:50 1994  Ian Searle  (ian@quixote)
  553.  
  554.     * bltin2.c (Tmpfile): New function.
  555.  
  556. Sun Jun 12 09:23:21 1994  Ian Searle  (ian@quixote)
  557.  
  558.     * toolbox/toeplitz.r: Revise contributed toeplitz so that it will
  559.     handle size(C) != size(R). Note that it still will not perform
  560.     like Matlab's for the complex case.
  561.  
  562. Sat Jun 11 21:58:16 1994  Ian Searle  (ian@quixote)
  563.  
  564.     * misc/plplot.r (plhold_off): Add call to _pltext() to reset to
  565.     text mode.
  566.  
  567.     * matop2.c (matrix_ReadGeneric): Improvments to handle last lines
  568.     without terminating newline characters.
  569.  
  570. Thu Jun  9 17:18:23 1994  Ian Searle  (ian@quixote)
  571.  
  572.     * r_plot.c (_plot_plscol0): New function.
  573.  
  574.     * matop2.c (matrix_ReadGeneric): Make readm() more efficient.
  575.  
  576. Tue Jun  7 18:45:37 1994  Ian Searle  (ian@quixote)
  577.  
  578.     * Makefile.in: Remove obsolete targets from Makefile.
  579.  
  580.     * getline.c (Getline): Fix stupid string error.
  581.  
  582. Mon Jun  6 17:24:16 1994  Ian Searle  (ian@quixote)
  583.  
  584.     * fi_1.c (matrix_Eig_NEP): Fix overwrites problem with
  585.     left-eigenvectors. 
  586.  
  587. Sun Jun  5 20:20:32 1994  Ian Searle  (ian@quixote)
  588.  
  589.     * Release Version 1.0.
  590.  
  591. Tue May 24 16:55:15 1994  Ian Searle  (ian@quixote)
  592.  
  593.     * fi_1.c (solve_eq): Add calls to [DZ]GECON for input matrix
  594.     condition check.
  595.     (solve_eq): Mods to make A ill-conditioning handling more uniform,
  596.     as well as error messages.
  597.  
  598.     * matrix.c (matrix_Assign): Make row and column index requirements
  599.     looser. 
  600.     (matrix_ExtractColumn): Same.
  601.     (matrix_ExtractRow): Same
  602.     (matrix_ExtractColMatrix): Same.
  603.     (matrix_ExtractRowMatrix): Same.
  604.  
  605. Fri May 20 20:19:02 1994  Ian Searle  (ian@quixote)
  606.  
  607.     * symbol.c (symbol_table_create): Set the name of $$.
  608.  
  609.     * btree.c (btree_CopyTree): Check for $$.
  610.  
  611.     * code.c (copy_arg): New function.
  612.     (load_local_var): Copy arg variables if they are declared local.
  613.  
  614. Wed May 18 18:23:55 1994  Ian Searle  (ian@quixote)
  615.  
  616.     * matrix.c (matrix_AssignRow): Be more relaxed with matrix index
  617.     dimensions in assignments, and allow [] as assignment index.
  618.  
  619. Mon May 16 19:31:02 1994  Ian Searle  (ian@quixote)
  620.  
  621.     * fi_1.c (matrix_Eig_GNEPa): slightly more descriptive error
  622.     message. 
  623.  
  624. Fri May 13 22:07:52 1994  Ian Searle  (ian@quixote)
  625.  
  626.     * bltin1.c (Reshape): Use targ1 in arglist.
  627.  
  628. Tue May 10 19:20:41 1994  Ian Searle  (ian@quixote)
  629.  
  630.     * matop3.c (matrix_PNorm): New function.
  631.  
  632. Mon May  9 01:21:39 1994  Ian Searle  (ian@quixote)
  633.  
  634.     * fftp.h: Change defines to use newer fftpack calls. Same
  635.     arguments, etc, just added a `D' or `d' to the front of the name.
  636.  
  637.     * matop2.c (matrix_Find): Change && to || in find-complex logic.
  638.  
  639.     * bltin2.c (Find): Add usage of TARG_DESTROY.
  640.  
  641.     * code.c (ret_from_func): Search local list object with pointer
  642.     value. 
  643.  
  644.     * btree.c (btree_find_node_r): Had to make this function search
  645.     the list looking for nodes based upon pointer value.
  646.  
  647. Sun May  8 14:54:04 1994  Ian Searle  (ian@quixote)
  648.  
  649.     * r_plot.c (_plot_plptex): Make last argument be ["s"] or "s".
  650.  
  651.     * util.c (matrix_to_scalar): Add else-if option for STRING
  652.     matrices (can't believe this was used like this ?).
  653.  
  654.     * misc/plplot.r: Added plhold(), plhold_off(). Also added variable
  655.     line/point styles for the same plot.
  656.  
  657. Wed May  4 21:48:05 1994  Ian Searle  (ian@quixote)
  658.  
  659.     * matop3.h: New file.
  660.  
  661.     * matop3.c: New file.
  662.  
  663.     * math_2.c (Max): Make max compatible with Matlab (2 args).
  664.     (Min): Make min compatible with Matlab (2 args).
  665.  
  666. Mon May  2 06:30:08 1994  Ian Searle  (ian@quixote)
  667.  
  668.     * Release v0_99f.
  669.  
  670.     * Added plmesh() (to plplot.r) via r_plot.[ch].
  671.  
  672.     * listnode.c (listNode_isValid): Add listNode_isValid back in.
  673.  
  674.     * Release v0_99e (to tsyang).
  675.  
  676. Sun May  1 14:12:18 1994  Ian Searle  (ian@quixote)
  677.  
  678.     * rfile.c (get_rlab_search_path): New function.
  679.  
  680. Sat Apr 30 10:27:13 1994  Ian Searle  (ian@quixote)
  681.  
  682.     * Release v0_99d
  683.  
  684.     * util.c (call_rlab_script): Oops, make rlab_call_script handle
  685.     builtin functions as well.
  686.  
  687.     * odei.c (odei): Add error check to dtout (!= 0)
  688.     (odei): Moved TARG_DESTROY usage down to bottom of function where
  689.     it belongs.
  690.  
  691. Fri Apr 29 22:06:36 1994  Ian Searle  (ian@quixote)
  692.  
  693.     * bio.c (GetB): New function.
  694.  
  695.     * r_string.c (string_Write): Add call to fflush ().
  696.  
  697.     * bltin1.c (btree_write): Add call to fflush ().
  698.  
  699.     * scalar.c (scalar_Write): Added call to fflush().
  700.  
  701. Tue Apr 26 20:01:38 1994  Ian Searle  (ian@quixote)
  702.  
  703.     * main.c: Add -h to usage string.
  704.  
  705.     * print.c (get_file_ds): Added setvbuf, and buffsize.
  706.  
  707.     * bltin1.c (Read): Removed pre-cautionary close_file_ds() at
  708.     beginning. 
  709.  
  710.     * bio.c (ReadB): Removed pre-cautionary close_file_ds() at
  711.     beginning. 
  712.  
  713.     * rlab.y: Set $$ on [] to avoid confusing if().
  714.  
  715.     * diss.c (print_code_var): Print diss() from core dumping when a
  716.     pushed variable has no key.
  717.  
  718.     * bltin2.c (FVScope): Update for OP_ELADD and OP_EL_SUB.
  719.  
  720.     * diss.c (diss_assemble): Update for OP_EL_ADD and OP_EL_SUB. 
  721.  
  722. Sat Apr 23 08:58:23 1994  Ian Searle  (ian@quixote)
  723.  
  724.     * Release v0.99b
  725.  
  726.     * code.c (intcatch_wait): Mods to prevent unwanted termination
  727.     from multiple ^C.
  728.  
  729.     * matop2.c (matrix_Pow1): Fix a.^0 computation.
  730.  
  731. Tue Apr 12 21:27:56 1994  Ian Searle  (ian@quixote)
  732.  
  733.     * scan.l: Add .+ .-
  734.  
  735. Fri Apr  8 22:17:47 1994  Ian Searle  (ian@quixote)
  736.  
  737.     * code.c (list_assign): Allow 1st element of matrix as list index
  738.     for conversion to string.
  739.  
  740.     * rfile.c (cat_help_file_DOS): New function, added as a DOS
  741.     bandaid.
  742.  
  743. Tue Apr  5 17:13:17 1994  Ian Searle  (ian@quixote)
  744.  
  745.     * bio.c: Changed "r" and "w" to "rb" and "wb".
  746.  
  747. Sun Apr  3 18:07:20 1994  Ian Searle  (ian@quixote)
  748.  
  749.     * scan.l (rlab_yy_input): Added some code to feed flex a dummy
  750.     line if it has already read the '\n' before a flush_line occurs.
  751.  
  752. Tue Mar 29 21:19:13 1994  Ian Searle  (ian@quixote)
  753.  
  754.     * Renamed a bunch of files. Should be better now on crippled OSes.
  755.  
  756.     * matop2.c (matrix_VectorAddCol): New function.
  757.     (matrix_VectorAddRow): New function.
  758.  
  759. Sun Mar 27 18:17:40 1994  Ian Searle  (ian@quixote)
  760.  
  761.     * bltin2.c: Added #include <time.h> for tic() and toc().
  762.  
  763.     * rfile.c: Added #ifdefs for DOS inablility to handle popen in
  764.     rfile and help commands.
  765.  
  766. Thu Mar 24 21:35:57 1994  Ian Searle  (ian@quixote)
  767.  
  768.     * math_3.c (Filter): New function.
  769.  
  770. Sat Mar 19 00:22:52 1994  Ian Searle  (ian@quixote)
  771.  
  772.     * Break bltin.c into bltin1.c and bltin2.c.
  773.  
  774. Fri Mar 18 23:50:51 1994  Ian Searle  (ian@quixote)
  775.  
  776.     * test (l): Added ascii I/O tests.
  777.  
  778. Wed Mar 16 18:45:53 1994  Ian Searle  (ian@quixote)
  779.  
  780.     * bltin.c (Read): Removed fseek() and ftell() usage from read().
  781.  
  782. Mon Mar 14 20:09:59 1994  Ian Searle  (ian@quixote)
  783.  
  784.     * Dump rksuite, and replace with ode.f. Rename rks* to ode*.
  785.  
  786.     * matrix_op2.c (matrix_ReadGeneric): Overhaul readm() so that it
  787.     can read from pipes, or from the middle of a file...
  788.  
  789. Tue Mar  8 23:41:30 1994  Ian Searle  (ian@quixote)
  790.  
  791.     * rksi.f: New file.
  792.  
  793.     * rksi.h: New file.
  794.  
  795.     * rksuite.f: New file.
  796.  
  797.     *  rks.c: New file.
  798.  
  799. Tue Mar  1 21:35:46 1994  Ian Searle  (ian@quixote)
  800.  
  801.     * bio.c (scalar_ReadB): Remove extraneous strlen() call.
  802.     (matrix_ReadB): Remove old index usage.
  803.  
  804. Sun Feb 27 12:08:00 1994  Ian Searle  (ian@quixote)
  805.  
  806.     * test: Added binary file I/O tests.
  807.  
  808. Sat Feb 26 23:13:20 1994  Ian Searle  (ian@quixote)
  809.  
  810.     * bio.c: Changes to make matrix output MATLAB compatible.
  811.  
  812. Thu Feb 24 17:18:58 1994  Ian Searle  (ian@quixote)
  813.  
  814.     * rlib/save.r (save): Use writeb() instead of write().
  815.  
  816. Sun Feb 20 20:26:30 1994  Ian Searle  (ian@quixote)
  817.  
  818.     * bi_io.c: New file, contains binary file I/O functions.
  819.  
  820. Sat Feb 19 21:37:24 1994  Ian Searle  (ian@quixote)
  821.  
  822.     * bltin.c (Write): Fix write() so that argument checking is
  823.     correct. 
  824.  
  825.     * getline.c (Getline): Make getline() return a NULL string if a
  826.     blank line is encountered.
  827.  
  828. Tue Feb  8 20:41:42 1994  Ian Searle  (ian@quixote)
  829.  
  830.     * matrix_op2.c (matrix_Acos): Same change as below...
  831.  
  832.     * scalar_op1.c (scalar_Acos): Same change as below...
  833.  
  834.     * trig.c (Asin): Make asin() and acos() work for values >= 1.
  835.  
  836. Mon Feb  7 17:49:05 1994  Ian Searle  (ian@quixote)
  837.  
  838.     * bltin.c (Reshape): Make reshape() accept scalar numeric values. 
  839.  
  840. Sun Feb  6 22:18:51 1994  Ian Searle  (ian@quixote)
  841.  
  842.     * toolbox/nmsmax.r: New function.
  843.  
  844.     * toolbox/mdsmax.r: New function.
  845.  
  846. Sat Feb  5 22:07:39 1994  Ian Searle  (ian@quixote)
  847.  
  848.     * code.c (function_call): Numerous changes and restructuring to
  849.     make code more functional, and allow usage from other C source
  850.     code (getting ready for dynamic linking).
  851.  
  852. Fri Feb  4 23:04:58 1994  Ian Searle  (ian@quixote)
  853.  
  854.     * util.c (call_rlab_script): New function.
  855.  
  856.     * code.c (userf): New function.
  857.  
  858. Sun Jan 30 16:35:17 1994  Ian Searle  (ian@quixote)
  859.  
  860.     * Makefile.in: Made changes to Makefile to make non-UNIX usage
  861.     easier (OS/2, DOS, etc...).
  862.  
  863. Tue Jan 25 05:31:52 1994  Ian Searle  (ian@quixote)
  864.  
  865.     * toolbox/window.r (window): Return a column vector.
  866.  
  867. Thu Jan 20 17:11:08 1994  Ian Searle  (ian@quixote)
  868.  
  869.     * math_3.c (SchOrd): New function.
  870.  
  871.     * fi_2.c (matrix_Schur_Reorder): New function.
  872.  
  873. Sat Jan  8 13:58:50 1994  Ian Searle  (ian@quixote)
  874.  
  875.     * matrix_op1.c (matrix_scalar_eq): Allow equality tests between
  876.     matrices of numbers, and strings.
  877.     (matrix_scalar_ne): Allow equality tests between matrices of
  878.     numbers, and strings.
  879.  
  880. Fri Jan  7 20:39:05 1994  Ian Searle  (ian@quixote)
  881.  
  882.     * matrix_op1.c (matrix_ne): Allow equality tests between matrices
  883.     of numbers, and strings.
  884.     (matrix_eq): Allow equality tests between matrices of numbers, and
  885.     strings. 
  886.  
  887.     * matrix_op2.c (matrix_string_eq): Allow equality tests between
  888.     matrices, and strings.
  889.  
  890.     * relation.c (ent_ent_eq): Allow equality tests between scalars
  891.     and strings
  892.  
  893. Tue Jan  4 21:55:23 1994  Ian Searle  (ian@quixote)
  894.  
  895.     * test: Added lu/factor tests.
  896.  
  897. Tue Dec 14 19:11:49 1993  Ian Searle  (ian@quixote)
  898.  
  899.     * code.c (init_frame): New functions.
  900.  
  901. Mon Dec 13 17:24:29 1993  Ian Searle  (ian@quixote)
  902.  
  903.     * rfile.c (path_split): Make ':' a static variable called
  904.     PATHT_SEP so non-Unix platforms can change it easily.
  905.  
  906. Sun Dec 12 21:27:19 1993  Ian Searle  (ian@quixote)
  907.  
  908.     * code.c (find_lineno): Added a fail-safe so that we don't back
  909.     off of the code-stack.
  910.  
  911. Sat Dec 11 14:51:39 1993  Ian Searle  (ian@quixote)
  912.  
  913.     * rlab.y (ryyerror): Started using flush_line again. This time I
  914.     got it working :-).
  915.  
  916.     * btree.c (btree_sizeof): New function.
  917.  
  918.     * bltin.c (Sizeof): New function.
  919.  
  920. Mon Dec  6 19:48:29 1993  Ian Searle  (ian@quixote)
  921.  
  922.     * Switch to using flex-2.4.3
  923.  
  924. Fri Dec  3 23:14:12 1993  Ian Searle  (ian@quixote)
  925.  
  926.     * r_plot.c (_plot_plspause): New function.
  927.  
  928. Thu Dec  2 21:05:15 1993  Ian Searle  (ian@quixote)
  929.  
  930.     * print.c (rfile_Destroy): Remove if test, and error message from
  931.     fclose(). 
  932.  
  933. Wed Dec  1 19:12:16 1993  Ian Searle  (ian@quixote)
  934.  
  935.     * bltin.c (Strtod): Make strtod take matrices as well.
  936.  
  937.     * rlib/plplot.r: More updates to plplot.r
  938.  
  939. Tue Nov 23 19:05:09 1993  Ian Searle  (ian@quixote)
  940.  
  941.     * test: Many additional tests added.
  942.  
  943.     *  (fi_?.c): Changed all comparisons between ints and long ints
  944.     (info). 
  945.  
  946.     * r_plot.c (_plot_plprint): Added plflush(), and plend1().
  947.  
  948. Mon Nov 22 21:42:05 1993  Ian Searle  (ian@quixote)
  949.  
  950.     * test (a): Added matrix relational tests.
  951.  
  952.     * matrix_op1.c (matrix_lt): Fix typo.
  953.  
  954. Sun Nov 21 20:56:29 1993  Ian Searle  (ian@quixote)
  955.  
  956.     * bltin.c (Strtod): New function.
  957.  
  958. Wed Nov 17 19:15:09 1993  Ian Searle  (ian@quixote)
  959.  
  960.     * init.c: Add in PLPLOT code.
  961.  
  962.     * random.c (Rand): Change back to f2c *.f for ranlib, and make
  963.     necessary type casts in random.[ch]
  964.  
  965.     * math_3.c (FFT): Add F_INT declarations to avoid alignment
  966.     problems. 
  967.  
  968. Tue Nov 16 19:49:39 1993  Ian Searle  (ian@quixote)
  969.  
  970.     * config.h.in: Add #else #include <malloc.h>
  971.  
  972.     * mem.h: Remove #ifdef __STDC__ , and let config.h take care of
  973.     stdlib.h, or malloc.h.
  974.  
  975. Mon Nov 15 17:16:37 1993  Ian Searle  (ian@quixote)
  976.  
  977.     * matrix_op1.c (matrix_MultiplyCC): Must make sure to use ints
  978.     that are F_INT with BLAS subroutines.
  979.  
  980. Sat Nov 13 11:50:57 1993  Ian Searle  (ian@quixote)
  981.  
  982.     * LOTS of changes for improved fortran interface: New lp.[fh],
  983.     bl.[fh], and fi.h. Many mods to fi_1.c, and fi_2.c
  984.  
  985. Fri Nov 12 21:09:37 1993  Ian Searle  (ian@quixote)
  986.  
  987.     * mathl.c (Rrint): Rename rint() so that it can be used on systems
  988.     with broken rint().
  989.  
  990. Wed Nov 10 22:14:59 1993  Ian Searle  (ian@quixote)
  991.  
  992.     * math_2.c (Eig): Take all the argument overloading out of eig(),
  993.     now eig() just does eig(A), or eig(A, B).
  994.  
  995. Fri Nov  5 17:25:14 1993  Ian Searle  (ian@quixote)
  996.  
  997.     * math_2.c (Eig): Added "u" option.
  998.  
  999. Sat Oct 30 20:57:30 1993  Ian Searle  (ian@quixote)
  1000.  
  1001.     * btree.c (btree_Print): Add list name printing (like scalars
  1002.     matrices, and strings).
  1003.  
  1004.     * r_string.c (string_Print): New function.
  1005.  
  1006.     * matrix.c (matrix_Print): Don't print out variable with "-N"
  1007.     name, (function arguments).
  1008.  
  1009.     * scalar.c (scalar_Print): Don't print out variable with "-N" name
  1010.     (function arguments).
  1011.  
  1012.     * main.c (main): Add -h option, prints out error message.
  1013.  
  1014. Fri Oct 29 19:20:07 1993  Ian Searle  (ian@quixote)
  1015.  
  1016.     * code.c (list_assign): Left g out of sprintf() format.
  1017.  
  1018. Tue Oct 26 18:54:38 1993  Ian Searle  (ian@quixote)
  1019.  
  1020.     * Obtained new getopt related files from the GNU libc.
  1021.  
  1022. Sat Oct 23 09:21:56 1993  Ian Searle  (ian@quixote)
  1023.  
  1024.     * bltin.c (Read): Now taks a 2nd argument (optional) which
  1025.     specifies a list that the data can be installed onto.
  1026.  
  1027.     * rlib/fix.r (fix): Mods to function from bradh to handle complex.
  1028.  
  1029.     * trig.c (Atan2): More generic now.
  1030.  
  1031.     * matrix_op2.c (matrix_Atan2): Added 1-by-1 checks.
  1032.  
  1033. Fri Oct 22 21:04:07 1993  Ian Searle  (ian@quixote)
  1034.  
  1035.     * rlib/finite.r (finite): Return TRUE if element is finite.
  1036.  
  1037.     * math_1.c (Mod): Mods to handle combinations of different size
  1038.     matrices. 
  1039.  
  1040.     * matrix_op2.c (matrix_Mod): Mods to handle  1-by-1 matrices.
  1041.  
  1042.     * config.h.in: Fix logic surrounding FP_SET_MASK.
  1043.  
  1044.     * main.c (warning_1): Moved commas around.
  1045.  
  1046. Wed Oct 20 20:08:47 1993  Ian Searle  (ian@quixote)
  1047.  
  1048.     * list_node.c (listNode_SetScope): New function.
  1049.     (listNode_SetNum): New function.
  1050.  
  1051.     * list_node.h: Add two new fields. For scope checking, and
  1052.     list-node ordering.
  1053.  
  1054. Sun Oct 17 09:47:23 1993  Ian Searle  (ian@quixote)
  1055.  
  1056.     * toolbox/czt.r (czt): Improve default arg checking.
  1057.  
  1058. Sat Oct 16 13:57:54 1993  Ian Searle  (ian@quixote)
  1059.  
  1060.     * fi_1.c (matrix_Eig_GNEP): Use complex_div instead of
  1061.     complex_Div. This keeps AIX cc from puking when compiled with -O. 
  1062.  
  1063. Sat Oct  9 23:51:23 1993  Ian Searle  (ian@quixote)
  1064.  
  1065.     * rlib/isempty.r: Fixed, was backwards.
  1066.  
  1067. Sun Oct  3 22:36:51 1993  Ian Searle  (ian@quixote)
  1068.  
  1069.     * toolbox/fftplot.r (fftplot): Fix it so frequency scale is
  1070.     returned, and mag and ph are truncated.
  1071.  
  1072. Sat Oct  2 08:35:51 1993  Ian Searle  (ian@quixote)
  1073.  
  1074.     * main.c (main): Add some more command line options.
  1075.  
  1076.     * op_append.c (matrix_matrix_app): Changed matrix_Copy to
  1077.     matrix_copy_complex. 
  1078.  
  1079.     * code.c (function_default_return): Removed unused variable tmp.
  1080.     (bltin): Removed unused variable tmp.
  1081.  
  1082.     * matrix_op2.c (matrix_Pow2): Fix stupid bug. Using wrong MAT
  1083.     macro.
  1084.  
  1085.     * test: Added eigenvalue tests.
  1086.  
  1087. Fri Oct  1 23:36:17 1993  Ian Searle  (ian@quixote)
  1088.  
  1089.     * math_2.c (Eig): Finish up new eig() features.
  1090.  
  1091. Sun Sep 26 09:57:01 1993  Ian Searle  (ian@quixote)
  1092.  
  1093.     * fi_1.c (matrix_Eig_SEP): New function.
  1094.  
  1095. Sat Sep 25 16:22:34 1993  Ian Searle  (ian@quixote)
  1096.  
  1097.     * math_3.c (matrix_is_symm): New function.
  1098.     (Issymm): New function.
  1099.  
  1100. Wed Sep 22 21:40:29 1993  Ian Searle  (ian@quixote)
  1101.  
  1102.     * code.c (list_assign): Change numeric to string conversion to
  1103.     ".6g". and fix lack of iCONSTANT in list_assign().
  1104.  
  1105. Tue Sep 14 18:52:03 1993  Ian Searle  (ian@quixote)
  1106.  
  1107.     * util.c (cpstr_strip): SIZE_T change.
  1108.  
  1109.     * r_string.c (string_Read): SIZE_T change.
  1110.  
  1111.     * mem.c (xrealloc): Changed all SIZE_T to size_t.
  1112.  
  1113.     * rlib/plot.r (plotm): Remove name() uses, replace with "?"
  1114.     temporarily. 
  1115.  
  1116. Sat Sep 11 11:17:52 1993  Ian Searle  (ian@quixote)
  1117.  
  1118.     * fi_2.c (matrix_Sylv_Complex): New function.
  1119.  
  1120.     * math_3.c (Sylv): New function.
  1121.  
  1122.     * fi_2.c (matrix_Sylv_Real): New function.
  1123.     (matrix_Sylv): New function.
  1124.  
  1125. Fri Sep 10 16:31:24 1993  Ian Searle  (ian@quixote)
  1126.  
  1127.     * complex.c (complex_gt): Change complex relationals back to
  1128.     original method (using magnitudes).
  1129.  
  1130. Thu Sep  9 21:37:57 1993  Ian Searle  (ian@quixote)
  1131.  
  1132.     * bltin.c (System): Remove name() function.
  1133.     (Matrix_cast): Fix string-matrix cast.
  1134.     (Scalar_cast): Fix string-scalar casts.
  1135.     (Show): Add string to type descriptor.
  1136.  
  1137.     * random.c (SRand): Add if(once) statement so that srand() can be
  1138.     called before rand().
  1139.  
  1140. Tue Sep  7 17:51:00 1993  Ian Searle  (ian@quixote)
  1141.  
  1142.     * matrix_op2.c (matrix_Pow1): Fix up [m].^salar ops.
  1143.     (matrix_is_positive): New function.
  1144.  
  1145.     * scalar_op1.c (scalar_Pow): Fix up powers (again).
  1146.  
  1147. Mon Sep  6 09:33:06 1993  Ian Searle  (ian@quixote)
  1148.  
  1149.     * math_2.c (Sort): Make string sort, a vector function.
  1150.  
  1151.     * op.c (ent_ent_add): Add matrix-string adds.
  1152.  
  1153.     * matrix_op2.c (matrix_string_add): New function.
  1154.  
  1155.     * r_string.c (string_add): New function.
  1156.  
  1157. Mon Aug 30 18:16:11 1993  Ian Searle  (ian@quixote)
  1158.  
  1159.     * scan.l: Ignore \f (form-feed control character.
  1160.  
  1161.     * rlab.y: Made a[], and a[;] allowable (they are no-ops).
  1162.  
  1163. Sun Aug 29 00:01:13 1993  Ian Searle  (ian@quixote)
  1164.  
  1165.     * math_3.c: Same as math_2.c.
  1166.     (FFT): Move position of tmp2 creation so that it occurs after
  1167.     matrix has been either trucated, or extended.
  1168.     (IFFT): Move position of tmp2 creation so that it occurs after
  1169.     matrix has been either trucated, or extended.
  1170.  
  1171.     * math_2.c: Use TARG_DESTROY macro in all functions where
  1172.     convert_to_matrix, or convert_to_scalar is used.
  1173.  
  1174.     * print.c (do_printf): Must check argcnt <= 0 since argcnt is
  1175.     unsigned. 
  1176.  
  1177.     * rlab.h: Removed some of the portability oriented defines, and
  1178.     put them in config.h
  1179.  
  1180.     * rlib/isinf.r (isinf): Check for -inf also.
  1181.  
  1182.     * rlib/linspace.r (linspace): Check N >= 2.
  1183.  
  1184.     * rlib/logspace.r (logspace): Check N >= 2.
  1185.  
  1186.     * rlib/triu.r (triu): use .nr, and .nc. Also check k correctly.
  1187.  
  1188. Sat Aug 28 12:12:33 1993  Ian Searle  (ian@quixote)
  1189.  
  1190.     * rlib/tril.r (tril): Use .nr, and .nc. Also check k correctly.
  1191.  
  1192.     * math_3.c (IFFT): Scale the result by 1/N (like MATLAB).
  1193.     (FFT): Remove the 1/N scaling (like MATLAB).
  1194.     (FFT): Make fft() behave like MATLAB, with 2nd argument.
  1195.     (IFFT): Make ifft() behave like MATLAB, with 2nd argument.
  1196.  
  1197.     * complex.c (complex_or): Make complex relational behave like
  1198.     MATLAB. 
  1199.  
  1200.     * main.c (init_environment): Check environment for PAGER if
  1201.     RLAB_PAGER is not specified.
  1202.  
  1203. Wed Aug 25 23:29:32 1993  Ian Searle  (ian@quixote)
  1204.  
  1205.     * rlab.y: Added f(,,3,,5) capability to function calls.
  1206.  
  1207. Tue Aug 24 22:41:42 1993  Ian Searle  (ian@quixote)
  1208.  
  1209.     * math_2.c (Sort): Make sort() handle scalar string.
  1210.  
  1211. Wed Aug 18 21:02:55 1993  Ian Searle  (ian@quixote)
  1212.  
  1213.     * matrix.c (matrix_AppendColC): Some cosmetic touch ups while
  1214.     looking for a mem-clobber.
  1215.  
  1216. Tue Aug 17 21:04:19 1993  Ian Searle  (ian@quixote)
  1217.  
  1218.     * fi_1.c (matrix_QrPR): Create [P] as a k-by-n.
  1219.     (matrix_QrPZ): Create [P] as a k-by-n.
  1220.  
  1221.     * matrix_op2.c (matrix_Rdivide): Make a / [] work.
  1222.     (matrix_Ldivide): Make a \ [] work.
  1223.  
  1224.     * matrix_op1.c (matrix_Add): Make a + [] work.
  1225.     (matrix_Sub): Make a - [] work.
  1226.     (matrix_El_Div): Make a ./ [] work.
  1227.     (matrix_El_Mul): Make a .* [] work.
  1228.  
  1229. Mon Aug 16 23:31:04 1993  Ian Searle  (ian@quixote)
  1230.  
  1231.     * fi_1.c (matrix_QrP): New function(s).
  1232.  
  1233. Sat Aug  7 08:30:44 1993  Ian Searle  (ian@quixote)
  1234.  
  1235.     * matrix_op2.c (matrix_ReadGeneric): Changed to MATLAB flat-file
  1236.     format. 
  1237.     (figure_it_out): New function.
  1238.  
  1239.     * op_matrix.c (matrix_vector_assign): Add code (move) to re-type
  1240.     empty matrices.
  1241.     (matrix_assign): Same.
  1242.  
  1243.     * matrix.c (matrix_AssignRow): Remove matrix rhs-lhs type
  1244.     matching, this should be done in op_matrix.c.
  1245.     (matrix_Assign): Same.
  1246.     (matrix_AssignCol): Same.
  1247.     (matrix_AssignVector): Same.
  1248.  
  1249. Wed Aug  4 19:36:20 1993  Ian Searle  (ian@quixote)
  1250.  
  1251.     * matrix.c (matrix_AssignCol): Change (1, 1) to (0, 0) is create
  1252.     matrix calls.
  1253.  
  1254. Mon Aug  2 19:41:27 1993  Ian Searle  (ian@quixote)
  1255.  
  1256.     *  (./rlib): complement.r, intersection.r, set.r, union.r, New
  1257.     function.s 
  1258.  
  1259.     * op_matrix.c (matrix_reshape_col): Make [:] work on scalar STRING
  1260.     entities. 
  1261.  
  1262.     * util.c (convert_all_to_matrix_d): New function.
  1263.  
  1264. Sun Aug  1 22:50:30 1993  Ian Searle  (ian@quixote)
  1265.  
  1266.     * bltin.c (Find): Make find() handle scalar input.
  1267.  
  1268. Fri Jul 30 22:35:33 1993  Ian Searle  (ian@quixote)
  1269.  
  1270.     * op_matrix.c (matrix_assign): Same changes as made to
  1271.     matrix_vector_assign(). 
  1272.  
  1273.     * matrix.c (matrix_AssignVector): Free old matrix string element
  1274.     before assigning new value.
  1275.     (matrix_Assign): Same as above.
  1276.     (matrix_AssignCol): Same as above.
  1277.     (matrix_AssignRow): Same as above.
  1278.  
  1279.     * op_matrix.c (matrix_vector_assign): Add code to treat strings
  1280.     like scalar numerics.
  1281.  
  1282.     * op.c (ent_ent_el_pow): Add defaults to the switches to catch
  1283.     non-numeric entities.
  1284.  
  1285. Thu Jul 29 18:23:53 1993  Ian Searle  (ian@quixote)
  1286.  
  1287.     * toolbox/lagrange.r: Added check for out-of-bounds.
  1288.  
  1289.     * matrix.c (matrix_AppendRowS): Copy the null string into the
  1290.     empty matrix elements.
  1291.  
  1292. Wed Jul 28 23:33:15 1993  Ian Searle  (ian@quixote)
  1293.  
  1294.     * scalar_op1.c (scalar_Pow): Fix BOZO in 2nd comparison test.
  1295.  
  1296. Tue Jul 27 06:13:19 1993  Ian Searle  (ian@quixote)
  1297.  
  1298.     * main.c (run_program): Check ijmp so that we don't run out of
  1299.     longjmps in the non-interactive case.
  1300.  
  1301. Sun Jul 25 20:03:21 1993  Ian Searle  (ian@quixote)
  1302.  
  1303.     * rfile.c (find_open): closedir before we call run_program in case
  1304.     an error occurs.
  1305.  
  1306.     * rlab.y (ryyerror): Add longjmp call to ryyerror, also function
  1307.     scope resetting.
  1308.  
  1309.     * main.c (run_program): Now when an error occurs, keep
  1310.     longjmp()'ing up until we hit input == 0.
  1311.  
  1312.     * code.c (function_define): Made to small, but significant
  1313.     changes.  `function_SetCodeSize (u_func, psize + 4);' the number 4
  1314.     was a 5. And, `for (i = psave; i < psize + psave; i++)' the `<'
  1315.     used to be a `<='. These changes were made simply because we were
  1316.     using an extra piece of code when copying the function, which may
  1317.     not be safe under some rare circumstances. This bug popped up when
  1318.     I installed fvscope().
  1319.  
  1320. Sat Jul 24 09:17:10 1993  Ian Searle  (ian@quixote)
  1321.  
  1322.     * dissassem.c (diss_assemble): Fixed bug in OP_LIST_MEMB, and
  1323.     OP_LIST_CREATE dissasembly.
  1324.  
  1325. Fri Jul 23 21:51:33 1993  Ian Searle  (ian@quixote)
  1326.  
  1327.     * bltin.c (FVScope): New function.
  1328.  
  1329. Wed Jul 21 20:05:45 1993  Ian Searle  (ian@quixote)
  1330.  
  1331.     * op_matrix.c (matrix_stack): Make [a;s] work, when a in
  1332.     numeric-string. 
  1333.  
  1334.     * op_append.c (matrix_string_app): Make [a,s] work, where a is
  1335.     numeric-empty. 
  1336.  
  1337. Tue Jul 20 08:22:34 1993  Ian Searle  (ian@quixote)
  1338.  
  1339.     * matrix.c (matrix_AssignVector): Add logic so that we can have
  1340.     any RHS when assigning to an empty matrix.
  1341.     (matrix_AssignRow): Same as previous change.
  1342.     (matrix_AssignCol): Same as previous change.
  1343.     (matrix_Assign): Same as previous change.
  1344.  
  1345.     * rlib/input.r: New function.
  1346.  
  1347.     * toolbox/mret.r: New function.
  1348.  
  1349. Sun Jul 18 09:03:16 1993  Ian Searle  (ian@quixote)
  1350.  
  1351.     * code.c (reset_stack_ptr): New function.
  1352.  
  1353.     * main.c (run_program): Call reset_stack_ptr after longjmp().
  1354.  
  1355.     * rlib/input.r (input): New function.
  1356.  
  1357.     * matrix.c (matrix_print_real): Modify matrix print format.
  1358.  
  1359.     * bltin.c (Clear): Improved error messages.
  1360.  
  1361. Sat Jul 17 08:08:31 1993  Ian Searle  (ian@quixote)
  1362.  
  1363.     * rlib/num2str.r (num2str): New function rfile.
  1364.  
  1365.     * code.c (find_lineno): Check for NULL ptr if we get an error, or
  1366.     warning on the very 1st statement.
  1367.  
  1368. Wed Jul 14 20:31:18 1993  Ian Searle  (ian@quixote)
  1369.  
  1370.     * rlib/redit.r: Removed file existence test.
  1371.  
  1372. Tue Jul 13 20:40:01 1993  Ian Searle  (ian@quixote)
  1373.  
  1374.     * main.c (run_program): Add call to reset_frame_ptr to set fp back
  1375.     after a longjmp.
  1376.  
  1377.     * code.c (reset_frame_ptr): New Function.
  1378.  
  1379. Mon Jul 12 18:49:33 1993  Ian Searle  (ian@quixote)
  1380.  
  1381.     * Release v0.91b.
  1382.  
  1383.     * Major changes to rlab.y, scan.l. to make the parser generate
  1384.     codes, line at a time.
  1385.  
  1386. Wed Jul  7 22:02:33 1993  Ian Searle  (ian@quixote)
  1387.  
  1388.     * rlib/tmp_file.r: Use static variable to help insure uniqness.
  1389.  
  1390. Mon Jul  5 00:40:17 1993  Ian Searle  (ian@quixote)
  1391.  
  1392.     *  (./rlab): Release v0.90a.
  1393.  
  1394.     * bltin.c (Load): Added close_file_ds() call. This is overkill,
  1395.     but what the heck (safety 1st).
  1396.  
  1397.     * util.c (btree_get_node_names_who): Don't print variable names
  1398.     that begin with a "_".
  1399.  
  1400.     * rlab.y: Removed pure parser declaration.
  1401.  
  1402.     * scan.l: Went back to classical lex-yacc interaction (not a
  1403.     pure-parser). 
  1404.  
  1405.     * dissassem.c (diss_assemble): Update for new op-codes.
  1406.  
  1407. Sun Jul  4 20:12:31 1993  Ian Searle  (ian@quixote)
  1408.  
  1409.     * code.c (execute): Add OP_RFILE, OP_RFILE_NAME codes.
  1410.  
  1411.     * Have made major changes to main.c, code.[ch], bltin.c to make
  1412.     the parser/machine callable while executing code.
  1413.  
  1414. Thu Jul  1 21:31:02 1993  Ian Searle  (ian@quixote)
  1415.  
  1416.     * btree.c (btree_write_nodes): Check for BLTIN, and UFUNCTION.
  1417.  
  1418.     * rfile.c (rfile_load): Print out full file name in error message.
  1419.  
  1420.     * matrix.c (matrix_ExtractRowMatrix): Cast element references when
  1421.     bounds checking, so that NaNs and Infs are properly handled.
  1422.  
  1423. Fri Jun 25 17:30:48 1993  Ian Searle  (ian@quixote)
  1424.  
  1425.     * test (S): Added sprintf() test.
  1426.  
  1427. Thu Jun 24 20:15:35 1993  Ian Searle  (ian@quixote)
  1428.  
  1429.     * print.c (do_printf): Fix up argument handling for formats with
  1430.     width and/or precision specifiers.
  1431.  
  1432. Wed Jun 23 19:33:26 1993  Ian Searle  (ian@quixote)
  1433.  
  1434.     * scalar_op1.c (scalar_Pow): Use complex computation all the time.
  1435.     (scalar_Pow): Always return 1 when s2 is 0.
  1436.  
  1437. Tue Jun 22 16:26:58 1993  Ian Searle  (ian@quixote)
  1438.  
  1439.     * config/*: Added HAVE_TIME_H define.
  1440.  
  1441.     * config/config.svr4:  Added HAVE_STDLIB_H define.
  1442.  
  1443.     * scan.l: Get rid of #elif pre-processor statements (not K&R
  1444.     compatible). 
  1445.  
  1446.     * rlab.h:   Added HAVE_STDLIB_H block.
  1447.  
  1448.     * config/config.rs6000: Added HAVE_STDLIB_H define.
  1449.  
  1450.     * rfile.c:  Added HAVE_STDLIB_H block.
  1451.  
  1452.     * symbol.c: Added HAVE_STDLIB_H block.
  1453.  
  1454.     * matrix.c: Don't need stdlib.h include anymore.
  1455.  
  1456.     * config/config.hpux: Got access to an HP 9000/720, HP-UX 8.05.
  1457.     This config files has now been tested.
  1458.  
  1459.     * fi_1.c (matrix_Svd_Complex): Added "A", "S" abililty.
  1460.  
  1461.     * math_2.c (Svd): Added "S", "A", 2nd arg to svd() list.
  1462.  
  1463.     * bltin.c (Zero): Cast matrix_Create args to (int).
  1464.     (Ones): Cast matrix_Create args to (int).
  1465.  
  1466. Sat Jun 19 22:25:10 1993  Ian Searle  (ian@quixote)
  1467.  
  1468.     * init.c (rlab_bltin): Add _garbage function.
  1469.  
  1470.     * README.install: Update installation instructions for make
  1471.     install. 
  1472.  
  1473.     * Makefile (mkdir): Remove `rm' command from Makefile.
  1474.  
  1475.     * rlib/whos.r (whos): Calculate nbytes correctly for complex
  1476.     types. 
  1477.  
  1478.     * util.c (btree_get_node_names_what): Don't print builtin
  1479.     functions that begin with a `_'.
  1480.  
  1481.     * scan.l: Allow variable names that begin with a `_'.
  1482.  
  1483. Mon Jun 14 19:48:17 1993  Ian Searle  (ian@quixote)
  1484.  
  1485.     * toolbox/pinv.r (pinv): Fixed bug in tol calc.
  1486.  
  1487. Mon Jun  7 19:13:25 1993  Ian Searle  (ian@quixote)
  1488.  
  1489.     * Makefile (COPYDIR): Copy doc directory and config.h file during
  1490.     install. 
  1491.  
  1492.     * config/config.sun4: Add ifdef __GNUC__ to handle sys/ieeefp.h,
  1493.     and float.h
  1494.  
  1495.     * matrix_op2.c (matrix_gt_zero): Fix error message.
  1496.  
  1497. Sun Jun  6 09:10:12 1993  Ian Searle  (ian@quixote)
  1498.  
  1499.     * rlib/diff.r (diff): Finished appr. comments.
  1500.  
  1501. Sat Jun  5 19:14:07 1993  Ian Searle  (ian@quixote)
  1502.  
  1503.     * matrix_op2.c (matrix_scalar_Pow1): Fix op for exp <= 0.
  1504.  
  1505.     * fi_2.c (matrix_Schur): New function.
  1506.  
  1507. Wed Jun  2 23:08:04 1993  Ian Searle  (ian@quixote)
  1508.  
  1509.     *  Release Version 0.83 beta.
  1510.  
  1511. Mon May 31 17:40:45 1993  Ian Searle  (ian@quixote)
  1512.  
  1513.     * code.c (forcode): Fix scalar execution of loop.
  1514.     (forcode): Set limit properly when vec_expr is a scalar.
  1515.  
  1516. Sun May 30 09:22:34 1993  Ian Searle  (ian@quixote)
  1517.  
  1518.     * rlab.h: Added NUM type.
  1519.  
  1520.     * bltin.c (get_bltin_arg): Added NUM type
  1521.  
  1522.     * random.c (Rand): Use get_num_scalar_val more to reduce gc
  1523.     inefficiency. 
  1524.  
  1525.     * Release v0.82
  1526.  
  1527. Sat May 29 22:55:06 1993  Ian Searle  (ian@quixote)
  1528.  
  1529.     * rlib/plot.r: Added showterm(), setterm(), phrd().
  1530.  
  1531.     * scan.l: Changed NUMBER regexps so that `a.e1' (list member ref)
  1532.     won't ge confused with exponential form of NUMBER.
  1533.  
  1534. Wed May 26 17:52:16 1993  Ian Searle  (ian@quixote)
  1535.  
  1536.     * scan.l (rlab_yy_input): Signal() should be called with
  1537.     intcatch_wait as arg.
  1538.  
  1539.     * btree.c (btree_copy_nodes): Add UNDEF case.
  1540.  
  1541. Mon May 24 20:23:49 1993  Ian Searle  (ian@quixote)
  1542.  
  1543.     * removed testmatrices directory.
  1544.  
  1545.     * ode*: Mods to user-output capabilities.
  1546.  
  1547. Sun May 23 13:50:21 1993  Ian Searle  (ian@quixote)
  1548.  
  1549.     * toolbox/FFT2.r: New file.
  1550.  
  1551.     * toolbox/FFT.r: New file.
  1552.  
  1553.     * toolbox/hankel: New rfile.
  1554.  
  1555.     * toolbox/ode78.r: Added Uoutput.
  1556.  
  1557.     * rlib/ode23.r: Added Uoutput.
  1558.  
  1559.     * op_matrix.c (matrix_reshape_col): Try and make more efficient if
  1560.     input is already a column. 
  1561.  
  1562.     * matrix_op1.c (matrix_ne): Fix goof in REAL !+ COMPLEX, and
  1563.     COMPLEX != REAL.
  1564.  
  1565. Wed May 19 18:19:00 1993  Ian Searle  (ian@quixote)
  1566.  
  1567.     * bltin.c, btree.c: Add UNDEF case to write() options. 
  1568.  
  1569. Sat May 15 12:25:25 1993  Ian Searle  (ian@quixote)
  1570.  
  1571.     * code.c (ret_from_func): Use btree_FindNodeR.
  1572.  
  1573.     * btree.[ch] (btree_FindNodeR): New function.
  1574.  
  1575.     * test: Added lqr test to test-suite.
  1576.  
  1577.     * Makefile: Added install for rlab.1 (man-page).
  1578.  
  1579.     * Makefile: Clean LIBDIR before installing files.
  1580.  
  1581.     * scan.l: Use strtod() more often (replace sscanf()).
  1582.  
  1583. Fri May 14 21:46:25 1993  Ian Searle  (ian@quixote)
  1584.  
  1585.     * toolbox/*.r, rlib/*.r: Any files that neede class() or type()
  1586.     mods. 
  1587.  
  1588.     * code.c (list_member): Change type member results for
  1589.     consistency. 
  1590.  
  1591.     * btree.[ch] (btree_GetRealNumNodes): New function.
  1592.  
  1593.     * bltin.c (Type): More consistemcy changes.
  1594.  
  1595.     * bltin.c (Class): More consistemcy changes.
  1596.  
  1597.     * bltin.c (Show): Working on consistency.
  1598.  
  1599.     * main.c (warning_?): Check for s being an arg tag, print null
  1600.     string if so. 
  1601.  
  1602. Sun May  9 10:56:13 1993  Ian Searle  (ian@quixote)
  1603.  
  1604.     * examples/testmatrices/jordan.r: Removed "dummy" usage.
  1605.  
  1606.     * examples/testmatrices/krylov.r: Removed "dummy" usage.
  1607.  
  1608.     * examples/testmatrices/jordan.r: Removed "dummy" usage.
  1609.  
  1610.     * examples/testmatrices/cauchy.r: Removed "dummy" usage.
  1611.  
  1612.     * bltin.c (Ones, Zero): Onnly accept matrices with m*n == 2.
  1613.  
  1614.     * toolbox/rk4.r: Changes function names to match file name, fixed
  1615.     bug in calling rrk4(), y-argument.
  1616.  
  1617.     * code.c (assign): Don't check for "-" when assigning anymore. Not
  1618.     necessary cause there are always ENTITIES in function arg lists.
  1619.  
  1620.     * code.c (function_call): Don't label UNDEF args "dummy".
  1621.  
  1622.     * code.c (ret_from_func): Don't test args for key == 0 on clean. 
  1623.  
  1624.     * rlib/triu.r, tril.r: Remove "dummy" usage.
  1625.  
  1626.     * rlib/linspace.r: Remove "dummy" usage.
  1627.  
  1628.     * contrib/FFT.r, FFT2.r, hankel.r, toepltiz.r: Remove "dummy"
  1629.     usage. 
  1630.  
  1631.     * code.c (print): Check for BLTIN.
  1632.  
  1633.     * rlib/whos: Add check for arg exist.
  1634.  
  1635.     * rlib/ode23: Remove "dummy" usage, add checks
  1636.  
  1637.     * rlib/plot.r: Check N in plot()
  1638.  
  1639.     * rlib/redit.r: Remove "dummy" usage.
  1640.  
  1641.     * rlib/redit.r: Remove "dummy" usage.
  1642.  
  1643.     * rlib/pause.r: Remove "dummy" usage.
  1644.  
  1645.     * rlib/eye.r: Remove "dummy" usage.
  1646.  
  1647.     * rlib/diff.r: Remove "dummy" usage.
  1648.  
  1649.     * toolboz/ode78.r: Remove "dummy" usage.
  1650.  
  1651.     * toolbox/lagrange.r: Remove "dummy" usage.
  1652.  
  1653.     * toolbox/chop.r: Remove "dummy" usage.
  1654.  
  1655.     * toolbox/bandred.r: Remove "dummy" usage.
  1656.  
  1657.     * code.c (function_call): Push UNDEF on for non-existent args.
  1658.  
  1659. Sat May  8 11:19:30 1993  Ian Searle  (ian@quixote)
  1660.  
  1661.     * rlib/lu.r: New file, replaces old lu() built-in
  1662.  
  1663.     * /help/backsub: New file
  1664.  
  1665.     * help/factor: New file
  1666.  
  1667.     * fi_1.[ch]: Removed matrix_LU().
  1668.  
  1669.     * fi_2.c (matrix_Backsub): Added error checking
  1670.  
  1671. Thu May  6 22:51:34 1993  Ian Searle  (ian@quixote)
  1672.  
  1673.     * fi_2.c (matrix_Factor): new function.
  1674.  
  1675.     * fi_2.c (matrix_Backsub): New function
  1676.  
  1677. Tue May  4 19:31:38 1993  Ian Searle  (ian@quixote)
  1678.  
  1679.     * toolbox/erf.r: Added erfcc(). Mods to inverf().
  1680.  
  1681.     * main.c (rpclose): New function.
  1682.  
  1683.     * code.c (print): Mods to use `use_pager' flag when printing
  1684.     matrices. 
  1685.  
  1686. Mon May  3 21:37:21 1993  Ian Searle  (ian@quixote)
  1687.  
  1688.     * code.c (print): Add rule-of-thumb, to avoid using popen() so
  1689.     much. 
  1690.  
  1691. Sun May  2 13:14:39 1993  Ian Searle  (ian@quixote)
  1692.  
  1693.     * code.c (ret_from_func): fix screw-up in local list clean.
  1694.  
  1695.     * rlib/plot.r: Re-written.
  1696.  
  1697.     * toolbox/gamma.r: Mods, uses static, updates to any(), all()
  1698.     usage. Also fixed gamm[pq] arg blunder.
  1699.  
  1700. Sat May  1 16:53:17 1993  Ian Searle  (ian@quixote)
  1701.  
  1702.     * print.c (FPrintf): Check fp for NULL.
  1703.  
  1704. Fri Apr 30 23:27:11 1993  Ian Searle  (ian@quixote)
  1705.  
  1706.     * print.c (do_printf): Add check for strv == 0.
  1707.  
  1708. Thu Apr 29 18:16:10 1993  Ian Searle  (ian@quixote)
  1709.  
  1710.     * code.c (ret_from_func): Test rd.u.ent for NULL name ptr.
  1711.  
  1712. Wed Apr 28 19:04:21 1993  Ian Searle  (ian@quixote)
  1713.  
  1714.     * op_matrix.c (matrix_vec_assign): Mods to handle scalars at top. 
  1715.  
  1716.     * code.c (ret_from_fun): Handle local lists now.
  1717.  
  1718.     * op_matrix.c (matrix_assign): Mods to handle scalars at top.
  1719.  
  1720. Tue Apr 27 21:25:59 1993  Ian Searle  (ian@quixote)
  1721.  
  1722.     * rlib/ode23.r: More efficient, use a LIST inside ode23(), then
  1723.     use collapse() to return a matrix.
  1724.  
  1725.     * bltin.c (Diag): New function.
  1726.  
  1727.     * bltin.c (Ones): New function.
  1728.  
  1729. Sun Apr 25 11:17:09 1993  Ian Searle  (ian@quixote)
  1730.  
  1731.     * code.c (ret_from_func): Do not clean BTREE objects from local
  1732.     variable list.
  1733.  
  1734.     * matrix_op1.c (matrix_eq and related functions): Add ability to
  1735.     do strinf-matrix ops when one matrix is a 1-by-1.
  1736.  
  1737.     * relation.c: All functions. Use switch, additions for
  1738.     matrix-string rel-ops.
  1739.  
  1740.     * matrix_op2.c: New functions... matrix_string_??().
  1741.  
  1742.     * code.c (execute): in OP_POP_CLEAN, add test for non-null entity
  1743.     type. 
  1744.  
  1745.     * matrix_op1.c (matrix_Multiply??): Add check for either A or B
  1746.     being an empty matrix, return an empty matrix.
  1747.  
  1748.     * util.c (convert_all_to_matrix): Changed d to new in
  1749.     string-matrix convert.
  1750.  
  1751. Sat Apr 24 11:22:56 1993  Ian Searle  (ian@quixote)
  1752.  
  1753.     * btree.c (btree_Print): Print <<>> for empty-list, even when list
  1754.     has UNDEFs.
  1755.  
  1756.     * bltin.c (Exist): New function
  1757.  
  1758.     * rlib/plot.r: Make pinfo static.
  1759.  
  1760. Fri Apr 23 23:38:39 1993  Ian Searle  (ian@quixote)
  1761.  
  1762.     * rlab.y, scan.l, main.c: Started addition of fstatic()
  1763.     declaration. 
  1764.  
  1765. Wed Apr 21 19:29:08 1993  Ian Searle  (ian@quixote)
  1766.  
  1767.     * code.c (find_file_name): Go straight to file name since we know
  1768.     exactly where it is.
  1769.  
  1770. Tue Apr 20 16:47:34 1993  Ian Searle  (ian@quixote)
  1771.  
  1772.     * code.c (forcode): This is really where yesterday's list-bug was
  1773.     lurking. The problem was not installing tmp for-vectors on the
  1774.     tmp-list. 
  1775.  
  1776. Mon Apr 19 19:38:39 1993  Ian Searle  (ian@quixote)
  1777.  
  1778.     * r_string.c (string_Read): Use fscanf() instead of getc() to get
  1779.     the last \n. This seems to work ?.
  1780.  
  1781.     * list.c (list_DetachNodeByAddr): Added check for n == 0. This may
  1782.     happen in some rare cases when the list is really clean.
  1783.  
  1784.     * code.c (ifcode, whilecode): Handle empty matrices as if(),
  1785.     while() args (eval to 0).
  1786.  
  1787.     * bltin.c (Read): Try and print out type if failure.
  1788.  
  1789.     * rlib/sign.r: Removed scalar option.
  1790.  
  1791.     * rlib/fix.r: New file
  1792.  
  1793.     * config/config.linux: Updated file from F.F.Yap.
  1794.  
  1795. Sun Apr 18 12:16:05 1993  Ian Searle  (ian@quixote)
  1796.  
  1797.     * Release version 0.75 beta
  1798.  
  1799.     * rlib/ode23.r: Mods to make ode23() operate on column solutions,
  1800.     and independent of y0 orientation.
  1801.  
  1802.     * toolbox/ode78.r: New function (from netlib).
  1803.  
  1804. Sat Apr 17 09:27:52 1993  Ian Searle  (ian@quixote)
  1805.  
  1806.     * toolbox/poly.r: Updated all() usage.
  1807.  
  1808.     * rlab.y: Moved function assign production to statement level so
  1809.     that trailing newline, or semicolon can be left out.
  1810.  
  1811.     * test: Incorporated getline() tests into test.
  1812.  
  1813. Thu Apr 15 19:46:57 1993  Ian Searle  (ian@quixote)
  1814.  
  1815.     * getline.c: Overhauled getline_scanner(), collect_decinal(), and
  1816.     collect_string() so that getline() will handle EOF.
  1817.  
  1818. Wed Apr 14 20:35:08 1993  Ian Searle  (ian@quixote)
  1819.  
  1820.     * test: Added a few more simple function tests.
  1821.  
  1822. Mon Apr 12 18:58:01 1993  Ian Searle  (ian@quixote)
  1823.  
  1824.     * util.c (convert_to_matrix): Removed call to remove_tmp_detroy(),
  1825.     to fix chol(1+1i) core dump.
  1826.  
  1827. Sun Apr 11 10:21:28 1993  Ian Searle  (ian@quixote)
  1828.  
  1829.     * rlib/cum[sum|prod].r: Re-write per Brad's suggestion (more
  1830.     efficient). 
  1831.  
  1832.     * init.c: Ordered bltin table for faster lookup.
  1833.  
  1834.     * util.[ch] (convert_all_to_matrix): New function.
  1835.  
  1836.     * op_matrix.c (matrix_vector_sub): Allow s[1] to work for a scalar
  1837.     string. 
  1838.  
  1839.     * bltin.c (Size, Length): Change the way we report on strings.
  1840.  
  1841.     * code.c (list_member): Add n, nr, nc as string attributes.
  1842.  
  1843. Sat Apr 10 10:46:00 1993  Ian Searle  (ian@quixote)
  1844.  
  1845.     * config.*: Fixed up obsolete comments around #include <float.h>
  1846.  
  1847.     * fi_1.c (matrix_inverse_?): Add call to matrix_Rcond() to check
  1848.     for ill-conditioned input.
  1849.  
  1850. Sun Apr  4 15:02:21 1993  Ian Searle  (ian@quixote)
  1851.  
  1852.     * fi_1.c (matrix_is_symmetric): Removed.
  1853.  
  1854. Sat Apr  3 00:05:57 1993  Ian Searle  (ian@quixote)
  1855.  
  1856.     * r_string.c (string_Read): Handle zero length string, and newline
  1857.     correctly. 
  1858.  
  1859.     * code.c (assign): Fix bungle in assign symbol table.
  1860.  
  1861.     * Copied bandred from testmatrices to toolbox.
  1862.  
  1863.     * Added contrib directory.
  1864.  
  1865.     * print.c (Close): Change test from `== 0' to `!= 1'.
  1866.  
  1867.     * test: Added tests for some of the more basic builtin functions
  1868.     (abs, max, sum, floor,...).
  1869.  
  1870.     * matrix_op1.c (matrix_Abs): Add #define rabs...
  1871.  
  1872.     * util.c (get_num_scalar_val): Put break where appropriate.
  1873.  
  1874. Fri Apr  2 20:50:05 1993  Ian Searle  (ian@quixote)
  1875.  
  1876.     * Many changes to get **return_ptr correct.
  1877.  
  1878.     * many small changes to get gcc -Wall  to shut up.
  1879.  
  1880.     * rfile.c (print_rfiles): Add extra space, and fflush() to force
  1881.     popen'ed ptr to behave correctly.
  1882.  
  1883.     * fi_1.c, matrix.c: Put #define rabs in.
  1884.  
  1885.     * util.c (btree_get_node_names): return a row matrix.
  1886.  
  1887.     * rlab.y, scan.l, symbol.[ch], util.c: Added $$ as globla symbol
  1888.     table constant.
  1889.  
  1890. Thu Apr  1 18:44:55 1993  Ian Searle  (ian@quixote)
  1891.  
  1892.     * Changed many error_1 messages, `wrong #' to Wrong number'.
  1893.  
  1894.     * main.c (warning_?): Fixed fprintf FILE ptr arg.
  1895.  
  1896. Wed Mar 31 19:24:13 1993  Ian Searle  (ian@quixote)
  1897.  
  1898.     * bltin.c (Length): Make compatible (partly) with Matlab.
  1899.  
  1900.     * alloca.c: Add #ifndef __GNUC__ to elminate supplied alloca if
  1901.     gcc is being used.
  1902.  
  1903.     * config/config.NeXT: Uncomment HAVE_PROTOTYPES, remove
  1904.     declarations at end of file.
  1905.  
  1906. Tue Mar 30 23:26:35 1993  Ian Searle  (ian@quixote)
  1907.  
  1908.     * code.c (list_el_create): Allow U_FUNCTION as valid type in
  1909.     switch. 
  1910.  
  1911. Sun Mar 28 11:24:02 1993  Ian Searle  (ian@quixote)
  1912.  
  1913.     * matrix_op1.c (matrix_El_Div): use matrix_screen_string().
  1914.  
  1915.     * bltin.c (CD): New function.
  1916.  
  1917.     * op_matrix.c (matrix_create): fix [2i], initialize real part.
  1918.  
  1919.     * toolbox/redit.r: New rfile.
  1920.  
  1921.     * scan.l: Take lineno++ out of # comment rule.
  1922.  
  1923. Sat Mar 27 09:27:01 1993  Ian Searle  (ian@quixote)
  1924.  
  1925.     * Now release v0.70.
  1926.  
  1927.     * op_matrix.c (matrix_stack): Fix type checking error in [1+2i;2]
  1928.     operation. 
  1929.  
  1930. Fri Mar 26 23:00:34 1993  Ian Searle  (ian@quixote)
  1931.  
  1932.     * Version 0.70 beta released.
  1933.  
  1934.     * scan.l: Added `#' as a commnet, now we can `#!/bin/rlab' our
  1935.     scripts. 
  1936.  
  1937. Wed Mar 24 00:02:06 1993  Ian Searle  (ian@quixote)
  1938.  
  1939.     * code.c (list_member): Make attribute look-up more consistent. 
  1940.  
  1941.     * bltin.c (Length): New function.
  1942.  
  1943.     * math_2.c (Sort): Make sort() a vector function.
  1944.  
  1945. Tue Mar 23 21:02:01 1993  Ian Searle  (ian@quixote)
  1946.  
  1947.     * matrix_op1.c (matrix_Any, matrix_All): Change to vector
  1948.     functions. 
  1949.  
  1950.     * util.c (get_datum_value): Fixed bug in extracting from 1-by-1.
  1951.  
  1952.     * matrix_op1.c: Most of the matrix relational functions. Added
  1953.     ability to recognize 1-by-1 matrices, and perform correct check.
  1954.  
  1955. Mon Mar 22 10:55:43 1993  Ian Searle  (ian@quixote)
  1956.  
  1957.     * rlab.y: Added production to opt_arg_list:
  1958.  
  1959.           | ',' error              { $$.count = 0; $$.off = 0; }
  1960.  
  1961.           The purpose of this rule is to prevent `sqrt ( , 2 )' from being
  1962.       a valid expression.
  1963.  
  1964. Sun Mar 21 23:02:59 1993  Ian Searle  (ian@quixote)
  1965.  
  1966.     * matrix_op2.c (matrix_Rdivide): Special case 1x1.
  1967.  
  1968. Sat Mar 20 14:36:19 1993  Ian Searle  (ian@quixote)
  1969.  
  1970.     * scan.l, rlab.y, code.[ch], dissasem.c, matrix_op1.[ch]: Added
  1971.     non-conjugate matrix transpose (.')
  1972.  
  1973.     * op.c (ent_ent_el_ldivide): Fixed typo in argument order.
  1974.  
  1975.     * op.c (rdivide, ldivide): Force all entities to be matrices, let
  1976.     low-level function determine appropriatness of dimensions.
  1977.  
  1978. Wed Mar 17 19:28:13 1993  Ian Searle  (ian@quixote)
  1979.  
  1980.     * btree.c (btree_Print): Change empty list printf().
  1981.  
  1982. Tue Mar 16 00:18:05 1993  Ian Searle  (ian@quixote)
  1983.  
  1984.     * matrix_op1.c (matrix_scalar_div2): Fix so 2./(1:3) works.
  1985.  
  1986.     * matrix_op1.c: Changes to handle [A] binop [3] conditions.
  1987.  
  1988. Mon Mar 15 20:56:18 1993  Ian Searle  (ian@quixote)
  1989.  
  1990.     * util.c (get_datum_value): Fix it so the function returns the
  1991.     value from a 1x1 matrix.
  1992.  
  1993.     * matrix_op2.[ch] (max, min): Modified max(), min() functions to
  1994.     behave more like MATLAB counterparts.
  1995.  
  1996.     * bltin.c (Reshape): mods to get rid of convert_to_scalar calls.
  1997.  
  1998.     * bltin.c (Scalar_cast, Matrix_cast): modified logix to get rid of
  1999.     convert_to_scalar().
  2000.  
  2001.     * print.c (SPrintf): Make sprintf() create the 1st argument if it
  2002.     is UNDEFINED.
  2003.  
  2004.     * math_1.c: Added
  2005.  
  2006.       if (targ.u.ent != arg.u.ent)
  2007.         remove_tmp_destroy (targ.u.ent);
  2008.       return;
  2009.  
  2010.       To all clean up temporary Datums when using convert_to_scalar.
  2011.  
  2012.  
  2013. Sun Mar 14 10:10:04 1993  Ian Searle  (ian@quixote)
  2014.  
  2015.     * scalar_op1.[ch], matrix_op1.[ch], complex.[ch], trig.c: add
  2016.     complex arc-trig functions.
  2017.  
  2018.     * scalar_op1.[ch], complex.[ch], trig.c, matrix_op1.[ch]: Add
  2019.     complex tangent.
  2020.  
  2021.     * rlab.y, code.[ch], dissamsem.c: Add `[:]' operation.
  2022.  
  2023. Sat Mar 13 12:34:46 1993  Ian Searle  (ian@quixote)
  2024.  
  2025.     * math_3.c (FFT): Add matrix fft capability.
  2026.  
  2027. Fri Mar 12 19:05:19 1993  Ian Searle  (ian@quixote)
  2028.  
  2029.     * op_matrix.c (matrix_transpose): Fix scalar complex transpose.
  2030.  
  2031.     * code.c (forcode): Add complex loop capability.
  2032.  
  2033.     * math_2.c (Chol, Det): Make them accept scalars as arguments.
  2034.  
  2035.     * math_2.c (Balance, Rcond): Make them accept scalars as arguments.
  2036.  
  2037.     * matrix.c (matrix_Print*): Add format for empty matrices.
  2038.  
  2039. Thu Mar 11 20:46:11 1993  Ian Searle  (ian@quixote)
  2040.  
  2041.     * math_1.c (Lu): Mods to handle scalar args.
  2042.  
  2043.     * eye.r: Mods to deal with new zeros().
  2044.  
  2045.     * bltin.c (Zero): Mods to allow it too handle combinations of
  2046.     matrices, and scalars.
  2047.  
  2048.     * rlab.y (yyparse): Small twiddle to newline production.
  2049.  
  2050. Tue Mar  9 19:49:06 1993  Ian Searle  (ian@quixote)
  2051.  
  2052.     * code.[ch], rlab.y, dissasem.c: Add OP_EMPTY_MATRIX_CREATE.
  2053.  
  2054.     * matrix.c (extraction functions): Small changes to extraction
  2055.     functions to handle NULL index matrices.
  2056.  
  2057.     * matrix_op2.c (matrix_Find): Fix logic around realloc() to avoid
  2058.     calling realloc with a zero argument.
  2059.  
  2060. Mon Mar  8 19:52:17 1993  Ian Searle  (ian@quixote)
  2061.  
  2062.     * op_matrix.c (matrix_sub): Make double indexing error checking
  2063.     behave like single indexing error-checking.
  2064.  
  2065.     * code.c (function_call): Convert CONSTANT args to scalars. 
  2066.  
  2067.     * matrix_op2.c (matrix_Find): Check for empty matrix when
  2068.     realloc'ing. 
  2069.  
  2070.     * matrix_op2.c (Prod): Fix complex products.
  2071.  
  2072. Sat Mar  6 11:31:50 1993  Ian Searle  (ian@quixote)
  2073.  
  2074.     * matrix.c (matrix_Write): Increased number of significant digits
  2075.     for output.
  2076.  
  2077.     * fi_[12].c: Remove the dependencies on f2c.h.
  2078.  
  2079. Fri Mar  5 17:16:41 1993  Ian Searle  (ian@quixote)
  2080.  
  2081.     * bltin.c (Show): Check for NULL names.
  2082.  
  2083. Sun Feb 28 10:25:53 1993  Ian Searle  (ian@quixote)
  2084.  
  2085.     * code.c (list_member): Made SCALAR attributes cosistent with
  2086.     MATRIX attributes.
  2087.  
  2088.     * matrix_op2.c (matrix_scalar_Pow): New function.
  2089.  
  2090.     * version.h: Changed version string. I am makeing the switch to
  2091.     BETA status.
  2092.  
  2093.     * matrix_op2.c (matrix_Max/matrix_Min): Small changes to
  2094.     algorithms. 
  2095.  
  2096. Thu Feb 25 20:26:41 1993  Ian Searle  (ian@quixote)
  2097.  
  2098.     * matrix.[ch]: matrix_ExtractElement, matrix_ExtractColumn,
  2099.     matrix_ExtractRow: new functions.
  2100.  
  2101.     * op_matrix.c (matrix_sub): Modify function loginc to improve
  2102.     speed. 
  2103.  
  2104. Tue Feb 23 21:11:34 1993  Ian Searle  (ian@quixote)
  2105.  
  2106.     * Incorporated config.NeXT, and NeXT patches.
  2107.  
  2108. Mon Feb 22 20:10:56 1993  Ian Searle  (ian@quixote)
  2109.  
  2110.     * math_2.c (Sort): Finished adding sort() features, complex,
  2111.     scalars, etc...
  2112.  
  2113. Sun Feb 21 15:46:49 1993  Ian Searle  (ian@quixote)
  2114.  
  2115.     * main.c, code.c, rlab.h, fi_[12].c: Changed way we catch SIGINT.
  2116.  
  2117.     * math_3.c, matrix_op2.[ch]: Added builtin versions of sum(),
  2118.     prod().
  2119.  
  2120. Tue Feb 16 21:21:59 1993  Ian Searle  (ian@quixote)
  2121.  
  2122.     * scalar.c (scalar_Create): Mods for small speedup.
  2123.  
  2124.     * list_node.[ch] (listNode_IsNodeAttached): Replace function with
  2125.     a macro in an attempt to speed things up.
  2126.  
  2127. Mon Feb 15 20:55:30 1993  Ian Searle  (ian@quixote)
  2128.  
  2129.     * test: Added matrix multiply tests.
  2130.  
  2131.     * matrix_op1.c (matrix_Mul??): Mods to handle A or B 1x1.
  2132.  
  2133.     * mm.c (ccmpy): Modified for a little more speed (courtesy Fook
  2134.     Fah). 
  2135.  
  2136. Sat Feb 13 21:00:48 1993  Ian Searle  (ian@quixote)
  2137.  
  2138.     * mm.c: New file.
  2139.  
  2140.     * matrix_op1.c (matrix_Mul??): Use contributed C matrix multiply
  2141.     code (faster).
  2142.  
  2143. Fri Feb 12 23:26:11 1993  Ian Searle  (ian@quixote)
  2144.  
  2145.     * code.c (list_member): Add member refs for CONSTANTs.
  2146.  
  2147.     * code.c (list_member): Add `.n' as scalar member.
  2148.  
  2149. Tue Feb  9 17:56:25 1993  Ian Searle  (ian@quixote)
  2150.  
  2151.     * math_2.c (MaxI/MinI): maxi()/mini() now return a scalar index
  2152.     value. 
  2153.  
  2154. Mon Feb  8 18:34:55 1993  Ian Searle  (ian@quixote)
  2155.  
  2156.     * code.c (forcode): Yet another change. Now for() will handle
  2157.     CONSTANTs were there should be vectors, without barfing.
  2158.  
  2159.     * math_2.c (Sort): sort() now returns a list of the sorted vector,
  2160.     and the sorted indices.
  2161.  
  2162.     * code.c (list_create): Remove erroneous call to
  2163.     convert_to_scalar().
  2164.  
  2165.     * matrix.c (matrix_assign_vector): Add calls to matrix_Extend() to
  2166.     handle empty matrix RHS.
  2167.  
  2168.     * code.c (forcode): Now for-loops will handle user changing loop
  2169.     vector in the middle of loop execution.
  2170.  
  2171. Sun Feb  7 22:32:58 1993  Ian Searle  (ian@quixote)
  2172.  
  2173.     * math_1.c (Inv): Allow scalars as well as matrices.
  2174.  
  2175.     * code.c (forcode): Fixed STUPID bug in loop-vector destroy logic
  2176.     (there was none).
  2177.  
  2178. Sat Feb  6 11:07:32 1993  Ian Searle  (ian@quixote)
  2179.  
  2180.     * matrix_op2.c (matrix_[LR]divide): Add test to use solve_eq()
  2181.     when A is square.
  2182.  
  2183.     * matrix.c (matrix_CreateFill): Add empty vector creation
  2184.     capability. 
  2185.  
  2186.     * code.c (forcode): Add no-execute capability/test.
  2187.  
  2188. Fri Feb  5 19:03:45 1993  Ian Searle  (ian@quixote)
  2189.  
  2190.     * rlab.y, scan.l: Made rfile, and help commands more versatile.
  2191.  
  2192.     * math_2.c (MinI): Fix subscripts on m.
  2193.  
  2194.     * matrix_op2.c (matrix_Max): Fixed complex max(). maxc.r = 0.0,
  2195.     NOT maxc.r = -DBL_MAX. Same for matrix_Min().
  2196.  
  2197. Tue Feb  2 21:41:37 1993  Ian Searle  (ian@quixote)
  2198.  
  2199.     * matrix.c (matrix_CreateFill): Change d = ... use abs(d3).
  2200.  
  2201. Mon Feb  1 23:21:31 1993  Ian Searle  (ian@quixote)
  2202.  
  2203.     * matrix_op2.c (matrix_Mod): Added complex matrices.
  2204.  
  2205.     * math_1.c (Mod): Better type checking. Handles complex args now.
  2206.  
  2207.     * complex.[ch] (complex_Mod): new function.
  2208.  
  2209. Sun Jan 31 13:20:11 1993  Ian Searle  (ian@quixote)
  2210.  
  2211.     * matrix_op2.c (matrix_Mod): Add some error/type checking.
  2212.  
  2213. Fri Jan 29 23:48:42 1993  Ian Searle  (ian@quixote)
  2214.  
  2215.     * Makefile: Still trying to make friendlier.
  2216.  
  2217. Thu Jan 28 17:31:22 1993  Ian Searle  (ian@quixote)
  2218.  
  2219.     * matrix_op2.[ch] (matrix_Mod): New function.
  2220.  
  2221.     * matrix.c (matrix_print_complex): Fix sign in sprintf().
  2222.  
  2223.     * code.c (assign): Change "-1" to "-" for strncmp.
  2224.  
  2225. Wed Jan 27 22:27:02 1993  Ian Searle  (ian@quixote)
  2226.  
  2227.     * bltin.c (Size): try returning size = 1x1 for SCALAR.
  2228.  
  2229. Tue Jan 26 20:03:52 1993  Ian Searle  (ian@quixote)
  2230.  
  2231.     * main.c, rlab.y: Mods to error printing. Leave filename, line
  2232.     number off when reading from stdin.
  2233.  
  2234. Mon Jan 25 22:40:06 1993  Ian Searle  (ian@quixote)
  2235.  
  2236.     * version.h: New file.
  2237.  
  2238.     * bltin.c, matrix_op2.[ch]: Moved matrix_Find() to matrix_op2.c.
  2239.  
  2240.     * getline.c, print.c, scan.h: Moved scancode[][ into getline.c
  2241.  
  2242. Fri Jan 22 00:10:52 1993  Ian Searle  (ian@quixote)
  2243.  
  2244.     * rlab.y: Starting on if statement syntax rework.
  2245.  
  2246.     * bltin.c (Find): New function.
  2247.  
  2248.     * main.c (warning_?): Check (s == 0).
  2249.  
  2250. Sun Jan 17 12:37:11 1993  Ian Searle  (ian@quixote)
  2251.  
  2252.     * bltin.c (All): Make scalar args allowable.
  2253.  
  2254.     * bltin.c (Any): Make scalar args allowable.
  2255.  
  2256.     * scan.l (new_file): Made minor change so tha ctrl-d (EOF) now
  2257.     stops execution.
  2258.  
  2259. Fri Jan 15 19:55:57 1993  Ian Searle  (ian@quixote)
  2260.  
  2261.     * dissasem.c: Changed output formats.
  2262.  
  2263.     * main.c, rlab.y: Add line_nos.
  2264.  
  2265. Thu Jan 14 18:19:26 1993  Ian Searle  (ian@quixote)
  2266.  
  2267.     * code.c (function_default_ret): A few more touches on argument
  2268.     cleaning. 
  2269.  
  2270. Wed Jan 13 19:27:36 1993  Ian Searle  (ian@quixote)
  2271.  
  2272.     * code.c (ret_from_func): Finally got garbage-collection for
  2273.     function args right (I hope :-).
  2274.  
  2275. Sun Jan 10 15:14:12 1993  Ian Searle  (ian@quixote)
  2276.  
  2277.     * code.c (list_member): Add "type" to string elements.
  2278.  
  2279. Fri Jan  8 22:09:53 1993  Ian Searle  (ian@quixote)
  2280.  
  2281.     * scan.l (new_file): Twiddle with lineno to get it right AFTER a
  2282.     load(), or rfile command.
  2283.  
  2284. Wed Jan  6 21:59:50 1993  Ian Searle  (ian@quixote)
  2285.  
  2286.     * code.c, rlab.y (list_assign): Fix it so that `a.[i] = a'. Caused
  2287.     a chang in generated op-codes in rlab.y.
  2288.  
  2289. Tue Jan  5 22:50:47 1993  Ian Searle  (ian@quixote)
  2290.  
  2291.     * random.c (Rand): Fixed rand(m,n).
  2292.  
  2293. Sat Jan  2 18:23:59 1993  Ian Searle  (ian@quixote)
  2294.  
  2295.     * rlab.y: mods to STRING ptr handling.
  2296.  
  2297.     * main.c: Add ip option. Use cat(1) as pager if -p is specified. 
  2298.  
  2299. Fri Jan  1 11:49:53 1993  Ian Searle  (ian@quixote)
  2300.  
  2301.     * getline.c (getline_scanner): Added quoted string scanning
  2302.     capability. 
  2303.  
  2304.     * print.c (get_file_ds): Use mode argument in popen() call.
  2305.  
  2306. Thu Dec 31 16:20:11 1992  Ian Searle  (ian@quixote)
  2307.  
  2308.     * getline.c: New File
  2309.  
  2310.     * scan.h: New File
  2311.  
  2312. Wed Dec 30 14:42:06 1992  Ian Searle  (ian@quixote)
  2313.  
  2314.     * matrix_op2.[ch]: Changed matrix_ReadColumn() to
  2315.     matrix_ReadGeneric(), added matrix_WriteGeneric().
  2316.  
  2317.     * bltin.c: Changed ReadV() to ReadM(). Added WriteM().
  2318.  
  2319. Tue Dec 29 09:30:53 1992  Ian Searle  (ian@quixote)
  2320.  
  2321.     * rfile.c: set pfile = 0 after successful pclose().
  2322.  
  2323.     * code.c (print): Set pfile = 0 after succesful pclose().
  2324.  
  2325. Wed Dec 23 16:56:11 1992  Ian Searle  (ian@quixote)
  2326.  
  2327.     * print.c (rfile_Destroy): Fixed braces on outside if.
  2328.  
  2329. Sat Dec 19 21:00:28 1992  Ian Searle  (ian@quixote)
  2330.  
  2331.     * print.c (do_printf): Changed error messages, and added another
  2332.     argcnt check.
  2333.  
  2334. Sun Dec 13 14:09:37 1992  Ian Searle  (ian@quixote)
  2335.  
  2336.     * matrix.c (matrix_Read): Fix complex read indexing
  2337.     (NWRITE+start-1). 
  2338.  
  2339.     * matrix.c (matrix_write_real): Fix `columns X through Y' output. 
  2340.  
  2341.     * math_2.c (Eig): Add calls to matrix_SetName().
  2342.  
  2343.     * lots!: Changed copy_string_ptr() to cpstr().
  2344.  
  2345. Thu Dec 10 19:23:42 1992  Ian Searle  (ian@quixote)
  2346.  
  2347.     * code.c (print): Print to stdout if popen() fails.
  2348.  
  2349.     * bltin.c (Read): close file after reading
  2350.  
  2351.     * matrix.c (matrix_Read): Fixe for-test while scanf'ing.
  2352.  
  2353. Sun Dec  6 13:00:50 1992  Ian Searle  (ian@quixote)
  2354.  
  2355.     * main.c (pipecatch): New function.
  2356.  
  2357.     * rfile.c: Make FILE *pfile static so we can pclose() if SIGPIPE
  2358.     occured. 
  2359.  
  2360.     * code.c (print): Use popen() for matrix output.
  2361.  
  2362.     * main.c (run): Catch SIGPIPE.
  2363.  
  2364. Fri Dec  4 17:27:08 1992  Ian Searle  (ian@quixote)
  2365.  
  2366.     * rfile.c (print_rfiles): Test for nfile == 0.
  2367.  
  2368. Thu Dec  3 19:57:50 1992  Ian Searle  (ian@quixote)
  2369.  
  2370.     * main.c (main): Add -l option.
  2371.  
  2372.     * main.c: Remove RLAB_LS_CMD.
  2373.  
  2374. Wed Dec  2 18:19:27 1992  Ian Searle  (ian@quixote)
  2375.  
  2376.     * Put power-op higher in precedence than unary-minus
  2377.  
  2378. Mon Nov 30 20:11:14 1992  Ian Searle  (ian@quixote)
  2379.  
  2380.     * math_2.c (Sort): Added string sort.
  2381.  
  2382.     * rfile.c: Finish up, still crude, but functionality is there.
  2383.  
  2384. Sun Nov 29 22:08:09 1992  Ian Searle  (ian@quixote)
  2385.  
  2386.     * rfiile.c (help): Moved help functionality to rfile.c
  2387.  
  2388. Sat Nov 28 21:10:43 1992  Ian Searle  (ian@quixote)
  2389.  
  2390.     * rlab.y: Move HELP, and RFILE productions up to program:
  2391.  
  2392.     * rfile.c: New file.
  2393.  
  2394. Mon Nov 23 23:16:39 1992  Ian Searle  (ian@quixote)
  2395.  
  2396.     * rlab.y: Clean-ups, comments.
  2397.  
  2398. Sun Nov 22 10:26:00 1992  Ian Searle  (ian@quixote)
  2399.  
  2400.     * Released v0.30.
  2401.  
  2402.     * Fixed goof in rlab.y ( parens around vec_expr ).
  2403.  
  2404.     * mathl.c: New file
  2405.  
  2406.     * rlab.y: Added '(' vec_expr ')' to vec_expr: rule.
  2407.  
  2408.     * mem.c (xmalloc, xrealloc): New functions. Now (hopefully) people
  2409.     can use most any compiler, and the provided alloca.c, and not get
  2410.     unresolved externals.
  2411.  
  2412.     * matrix.c (matrix_print_real): Use sprintf() now.
  2413.  
  2414.     * math_1.c (Round) New function, uses math library rint().
  2415.  
  2416. Sat Nov 21 22:13:34 1992  Ian Searle  (ian@quixote)
  2417.  
  2418.     * bltin.c (tic, toc): New functions.
  2419.  
  2420.     * scan.l, rlab.y: Trying to get error handling right so that the
  2421.     extra newline isn't needed.
  2422.  
  2423. Fri Nov 20 19:21:05 1992  Ian Searle  (ian@quixote)
  2424.  
  2425.     * fi_1.c (matrix_Norm): Fix 2-norm mistake.
  2426.  
  2427.     * bltin.c (Inf): New function.
  2428.  
  2429. Thu Nov 19 20:11:32 1992  Ian Searle  (ian@quixote)
  2430.  
  2431.     * scan.l (new_file): Fixed lineno bug, wasn't setting correct
  2432.     value in lnstack[].
  2433.  
  2434.     * config.h: Added choices for CONST, and BIG_ENDIAN,
  2435.     LITTLE_ENDIAN. 
  2436.  
  2437.     * bltin.c (Nan): New function.
  2438.  
  2439. Wed Nov 18 20:51:26 1992  Ian Searle  (ian@quixote)
  2440.  
  2441.     * config.h: Added option to use errno checking, or matherr().
  2442.  
  2443.     * bltin.c (matherr): New function.
  2444.  
  2445. Mon Nov 16 19:11:54 1992  Ian Searle  (ian@quixote)
  2446.  
  2447.     * bltin.c, main.c, scalar.c, matrix.c: Changed format() operation.
  2448.     Now format() works on REAL and COMPLEX.
  2449.  
  2450.     * main.c (init_misc): popen() FILE *paged_output, for paged matrix
  2451.     output. 
  2452.  
  2453.     * main.c: Removed inc_jmp_buff... and dec_jmp.... Replaced with
  2454.     jmp1, jmp2. Two simple variables should do the job.
  2455.  
  2456.     * scan.l (new_file): bptr = 0, if arg = 0.
  2457.  
  2458. Sun Nov 15 12:08:42 1992  Ian Searle  (ian@quixote)
  2459.  
  2460.     * matrix_*.c, bltin.c: Add calls to matrix_screen_string().
  2461.  
  2462.     * matrix.h (matrix_screen_string): Check for MTYPE == STRING, if
  2463.     TRUE, issue warning and longjmp().
  2464.  
  2465. Sat Nov 14 14:05:58 1992  Ian Searle  (ian@quixote)
  2466.  
  2467.     * sscan.l (new_file): Another overhaul, maybe someday I'll get it
  2468.     right.
  2469.  
  2470.     * rlab.y: Removed YYERROR usage, and replaced with longjmp().
  2471.  
  2472. Fri Nov 13 20:54:28 1992  Ian Searle  (ian@quixote)
  2473.  
  2474.     * main.c: Make jmp_buff an array. Change setjmp() call when
  2475.     loopong through filename arguments. If we run out of jmp_buff[]
  2476.     array, then STOP program.
  2477.  
  2478. Wed Nov 11 23:11:30 1992  Ian Searle  (ian@quixote)
  2479.  
  2480.     * matrix_op1.c (matrix_MultiplyCC): Call BLAS-3 ZGEMM().
  2481.  
  2482. Tue Nov 10 19:06:47 1992  Ian Searle  (ian@quixote)
  2483.  
  2484.     * matrix.c (matrix_CreateCLoad): Fixed bad matrix ref.
  2485.  
  2486.     * matrix.c (matrix_read_string): Completed.
  2487.  
  2488. Mon Nov  9 20:00:24 1992  Ian Searle  (ian@quixote)
  2489.  
  2490.     * !!! ADDITIONS TO LAPACK-C LIBRARY !!!
  2491.  
  2492.     * matrix_op2.c (matrix_Ldivide): Checks appropriate dimensions and
  2493.     calls matrix_LS.
  2494.  
  2495.     * fi_2.c (matrix_LS): New functions.
  2496.  
  2497.     * fi_1.c, fi_2.c: New files.
  2498.  
  2499.     * fi.c (matrix_Norm): The 2-norm is the ration of 1st/last
  2500.     singular values.
  2501.  
  2502. Sun Nov  8 10:39:10 1992  Ian Searle  (ian@quixote)
  2503.  
  2504.     * op_matrix.c (matrix_*_assign): Add call to matrix_gt_zero() to
  2505.     check indices for validity.
  2506.  
  2507.     * matrix_op2.c (matrix_gt_zero): New function
  2508.  
  2509.     * op_matrix.c (matrix_*_assign): Create LHS after looking at RHS
  2510.     type. 
  2511.  
  2512.     * op_append.c (matrix_string_app): Fix indexing bug that went
  2513.     passed end of array.
  2514.  
  2515.     * random.c (SRand): Add "clock" arg to enable setting seed from
  2516.     the clock.
  2517.  
  2518. Mon Nov  2 18:54:49 1992  Ian Searle  (ian@quixote)
  2519.  
  2520.     * matrix_op1.c (Sqrt, Log,...): Check for argument elements less
  2521.     than 0.
  2522.  
  2523.     * scalar_op1.c, matrix_op1.c (Log10): Added complex log10()
  2524.     capability. 
  2525.  
  2526.     * op_matrix.c (matrix_sub): Fix reduction of matrix string to
  2527.     scalar string.
  2528.  
  2529.     * matrix.c (matrix_print_string): Check for NULL ptrs before using
  2530.     strlen(). 
  2531.  
  2532.     * matrix.c (matrix_CreateS): Init string ptrs to 0 (for now).
  2533.  
  2534.     * util.c (print_What): Set unused matrix string ptrs to NULL
  2535.     string. 
  2536.  
  2537. Sun Nov  1 15:54:36 1992  Ian Searle  (ian@quixote)
  2538.  
  2539.     * matrix.[ch], op_append.c, op_matrix.c: Started in on adding
  2540.     matrices that contain STRING elements.
  2541.  
  2542. Sat Oct 31 11:34:13 1992  Ian Searle  (ian@quixote)
  2543.  
  2544.     * code.c, (ret_from_function): Do not try and clean argument
  2545.     variables while popping them off the stack.
  2546.  
  2547.     * bltin.c, (Name): Force name() to return "CONSTANT" when the
  2548.     entity name is "-1" (an constant in an argument list").
  2549.  
  2550.     * math_1.c, fi.c: Improved arg error checking, and added 2-norm
  2551.     option to Norm.
  2552.  
  2553. Fri Oct 30 17:43:39 1992  Ian Searle  (ian@quixote)
  2554.  
  2555.     * op_matrix.c: (matrix_vector_sub): Allow indexing of a SCALAR
  2556.     (only a single index).
  2557.  
  2558.     * op.c, util.c: Make all operations return a SCALAR, if the result
  2559.     is a 1x1 MATRIX.
  2560.  
  2561.     * scan.l: Call signal (SIG_IGN) in yy_input() to avoid causing a
  2562.     flex error.
  2563.  
  2564. Thu Oct 29 19:58:05 1992  Ian Searle  (ian@quixote)
  2565.  
  2566.     * rlab.y, scan.l: Add prompt variable to change the prompt for IF,
  2567.     FOR, WHILE, and functions.
  2568.  
  2569.     * code.c (assign): Finished fixing garbage collection details. In
  2570.     this case I was copying SCALARS twice. Now v0.30 is as good as
  2571.     0.21. 
  2572.  
  2573. Wed Oct 28 21:50:42 1992  Ian Searle  (ian@quixote)
  2574.  
  2575.     * op_matrix.c (matrix_assign) Clean rhs value.
  2576.  
  2577.     * util.c (convert_to_matrix): Clean original SCALAR.
  2578.  
  2579.     * op_append.c (vector_create): Add garbage-collection.
  2580.  
  2581.     * scan.l (new_file): Simplified scheme for input stream switching.
  2582.  
  2583. Mon Oct 26 19:51:37 1992  Ian Searle  (ian@quixote)
  2584.  
  2585.     * matrix.c (matrix_ExtractVector): Made more MATLAB like, by
  2586.     looking at type of parent matrix when deciding what dimensions of
  2587.     extracted vector should be.
  2588.  
  2589.     * relation.c: All functions, made SCALAR rel-op MATRIX and
  2590.     vice-versa work.
  2591.  
  2592.     * main.c (intcatch): New function, catch user interrupts.
  2593.  
  2594. Sat Oct 24 08:29:22 1992  Ian Searle  (ian@quixote)
  2595.  
  2596.     * scan.l: Added trailing context rules for: 3./A conditions.
  2597.  
  2598.     * code.c (load_local_var): Make local vars UNDEFINED.
  2599.  
  2600. Fri Oct 23 18:08:03 1992  Ian Searle  (ian@quixote)
  2601.  
  2602.     * Started Adding el-ops to rlab.y, code.c...
  2603.  
  2604.     * Finished eradicating VECTORS
  2605.  
  2606. Tue Oct 20 23:47:39 1992  Ian Searle  (ian@quixote)
  2607.  
  2608.     * Embarking on experiment... remove VECTORS from the language as a
  2609.     separate data type. Replace ';' with ',' as arg separators.
  2610.  
  2611. Thu Oct 15 18:31:51 1992  Ian Searle  (ian@quixote)
  2612.  
  2613.     * code.c (find_lineno, find_filename): Remove function arg.
  2614.  
  2615. Wed Oct 14 19:34:10 1992  Ian Searle  (ian@quixote)
  2616.  
  2617.     * rlab.y, code.c: Add loff (100) to line numbers to avoid op-code
  2618.     collisions when searching backwards through the codes.
  2619.  
  2620. Mon Oct 12 20:35:55 1992  Ian Searle  (ian@quixote)
  2621.  
  2622.     * code.c (function_define): Fixe 1st line number assign to test
  2623.     for line #0.
  2624.  
  2625. Fri Oct  9 23:38:58 1992  Ian Searle  (ian@quixote)
  2626.  
  2627.     * bltin.c (Clear): New function.
  2628.  
  2629.     * Reverted back to UNDEFINED variables.
  2630.  
  2631. Thu Oct  8 19:28:47 1992  Ian Searle  (ian@quixote)
  2632.  
  2633.     * code.c (list_create): Make list creation use numerical index
  2634.     values. 
  2635.  
  2636.     * trig.c, vector_op2.[ch], matrix_op2.[ch]: Make atan2() take
  2637.     vectors and matrices as args.
  2638.  
  2639.     * function.c (function_Destroy): Check list existence before
  2640.     destroy. 
  2641.  
  2642. Wed Oct  7 18:59:12 1992  Ian Searle  (ian@quixote)
  2643.  
  2644.     * Start incorporating some of the simpler, more common op-code
  2645.     functions directly into the switch.
  2646.  
  2647.     * rlab.[yh], code.[ch], scan.l: Have finished most of the changes
  2648.     mention below. Additionally have made y = function()... workable.
  2649.  
  2650. Mon Oct  5 00:58:30 1992  Ian Searle  (ian@quixote)
  2651.  
  2652.     * rlab.[yh], code.[ch], function.[ch]: Extensive changes to allow
  2653.     copying a user-function. Some of the changes: 1) adding two new
  2654.     op-codes, OP_PUSH_ARG, OP_PUSH_LOCAL, which push local and arg
  2655.     vars without explicit ptr reference 2) the new op-codes caused
  2656.     changes to function_call(), function_ret(), ret_from_function(),
  2657.     push_var, bltin(), and some others. The new op-codes also caused
  2658.     some changes in the parser actions.
  2659.  
  2660. Sat Oct  3 20:28:15 1992  Ian Searle  (ian@quixote)
  2661.  
  2662.     * function.[ch], code.c: Allow user-functions to be assigned,
  2663.     copied. 
  2664.  
  2665.     * scalar.c, vector.c, matrix.c: *_Print() functions changed to
  2666.     print COMPLEX prettier.
  2667.  
  2668. Wed Sep 30 07:16:43 1992  Ian Searle  (ian@quixote)
  2669.  
  2670.     * rlab.y, scan.l: Parser is re-enbtrant now. (%pure_parser)
  2671.  
  2672. Mon Sep 28 19:27:29 1992  Ian Searle  (ian@quixote)
  2673.  
  2674.     * vector.c (vector_copy_complex): Fixed stupid indexing bugs.
  2675.  
  2676.     * math_3.c (FFT): Don't use rfftf() anymore, scale the result by
  2677.     1/N.
  2678.  
  2679.     * op.c, vector_op1.c, matrix_op2.c (power related functions):
  2680.     Added scalar^matrix, matrix^scalar, vector^vector.
  2681.  
  2682.     * vector.c, matrix.c (Create functions): Removed ASSERT(), and
  2683.     replaced with if-test for dimensions < 0.
  2684.  
  2685.     * random.c (Rand): Fix improper ref to arg.u.val, should be
  2686.     arg.u.ent. 
  2687.  
  2688. Sun Sep 27 20:44:54 1992  Ian Searle  (ian@quixote)
  2689.  
  2690.     * op_matrix.c (matrix_transpose): Allow transpose of a vector.
  2691.  
  2692.     * matrix_op1.c (matrix_Transpose): Make complex transpose,
  2693.     complex-conjugate transpose.
  2694.  
  2695.     * random.c (SRand): error() when srand() os called with zero
  2696.     valued arg.
  2697.  
  2698.     * matrix_comp.c (matrix_Eig_NEP): Malloc for vl now, even though
  2699.     we don't uses it.
  2700.  
  2701.     * scan.l: Made 1e6i work.
  2702.  
  2703.     * random.c (Srand): Fixed bozo mistakes in inner switch.
  2704.  
  2705.     * matrix_op1.c (matrix_Log10): Fixed assignment.
  2706.  
  2707.     * rlab.y, code.[ch]: Modified list creation syntax, and behavior.
  2708.  
  2709. Thu Sep 24 21:52:01 1992  Ian Searle  (ian@quixote)
  2710.  
  2711.     * code.c (list_create): Write variable names to objects, as well
  2712.     as ListNodes.
  2713.  
  2714.     * scalar.c, vector.c, matrix.c string.c btree.c (Write): Fixed
  2715.     write functions so that the default name is NOT written on the
  2716.     entity. 
  2717.  
  2718.     * math_1.c (Exp): Fixed exp() to take complex constant.
  2719.  
  2720. Wed Sep 23 19:08:13 1992  Ian Searle  (ian@quixote)
  2721.  
  2722.     * matrix.c (matrix_Print): Played with print format.
  2723.  
  2724.     * matrix_comp.c (NEP): Finally added calls to ZGEEV.
  2725.  
  2726.     * math_2.c (Max, Min): Fixed stupid bug in returning max and min
  2727.     values of a scalar.
  2728.  
  2729.     * config.rs6000: New header file.
  2730.  
  2731.     * math_3.c (IFFT): New function.
  2732.  
  2733. Tue Sep 22 23:08:14 1992  Ian Searle  (ian@quixote)
  2734.  
  2735.     * op.c: Added tests for STRINGS in +, -, *, / functions, must
  2736.     finish rest.
  2737.  
  2738.     * util.c (convert_to_scalar): Added more error checking.
  2739.  
  2740.     * scan.l: Start counting interactive lines at 0.
  2741.  
  2742.     * main.c (error_?): Break error message into multiplt lines.
  2743.  
  2744.     * vector.[ch] (vector_Extend): Removed type spec. Reduce scope of
  2745.     function, now it only does what the name implies, extend the
  2746.     vector if necc.
  2747.  
  2748.     * op_vector.c (vector_assign): Many changes, mostly centered
  2749.     aaround calling vector_Extend.
  2750.  
  2751. Mon Sep 21 19:34:23 1992  Ian Searle  (ian@quixote)
  2752.  
  2753.     * scan.l: Added rule to scanner to handle `1e-3'. No decimal
  2754.     point. 
  2755.  
  2756.     * Doc/rlab.tex: Finally started working on the doc again.
  2757.  
  2758.     * rlab.y (yyparse): Removed silly restrictions in for, if, while,
  2759.     and function statements forcing users to type `{' on the same line
  2760.     as the `)'.
  2761.  
  2762.     * config.h: Added FOPEN_MAX for users who don't have one to set.
  2763.  
  2764.     * math_3.c (FFT): Added vector and matrix fft capability. This is
  2765.     neither finished, or checked out. Will undoubtedly change.
  2766.  
  2767. Sun Sep 20 19:01:13 1992  Ian Searle  (ian@quixote)
  2768.  
  2769.     * random.c (Rand): New file, some new functions. Finished hooking
  2770.     up rand ro RANLIB functions.
  2771.  
  2772.     * rlab.y (yyparse): Added ':' to precedence table (just above
  2773.     ','), and changed vec_expr production from:
  2774.  
  2775.          | vec_expr ',' expr  { code(OP_VEC_APPEND); }
  2776.  
  2777.      to:
  2778.  
  2779.          | vec_expr ',' vec_expr  { code(OP_VEC_APPEND); }
  2780.  
  2781.      This change makes expressions like `1,2,3:10' possible.
  2782.  
  2783.  
  2784.     * op_matrix.c (ent_ent_mat_promote): same as previous.
  2785.  
  2786.     * op_matrix.c (ent_con_mat_promote): same as previous.
  2787.  
  2788.     * op_matrix.c (con_ent_mat_promote): Fixed silly type checking
  2789.     errors that were preventing b[1;1,2] from working.
  2790.  
  2791. Sat Sep 19 00:00:39 1992  Ian Searle  (ian@quixote)
  2792.  
  2793.     * Picked up changes in config.sun4, bltin.h, btree.c, courtesy 
  2794.     R. M. Cothren.
  2795.  
  2796.     * op_vector.c (vector_assign): Improved error handling, and added
  2797.     more remove_tmp_destroy() calls.
  2798.  
  2799. Fri Sep 18 19:18:24 1992  Ian Searle  (ian@quixote)
  2800.  
  2801.     * op_vector.c  (vector_matrix_app): Same fix as below.
  2802.  
  2803.     * op_vector.c (vector_vector_app): Type in loop index (for REAL,
  2804.     COMPLEX) causing core dump. fix: add `+1'
  2805.  
  2806.     * code.c (bltin): Try and clean-up the argument from the tmplist.
  2807.  
  2808.     * code.c (ret_from_function): call remove_tmp_destroy() when
  2809.     poping local and arg vars.
  2810.  
  2811.     * op_matrix.c (matrix_assign): Add calls to remove_tmp_destroy(). 
  2812.  
  2813.     * op_matrix.c (matrix_transpose): Add call to
  2814.     remove_tmp_destroy().
  2815.  
  2816. Thu Sep 17 21:28:23 1992  Ian Searle  (ian@quixote)
  2817.  
  2818.     * math_3.c (FFT): Not finished yet, but compiled and setup
  2819.     libCfftpack.a 
  2820.  
  2821.     * math_1.c (SRand): New function.
  2822.  
  2823.     * math_1.c (Rand): Converted to RANLIB usage.
  2824.  
  2825.     * print.f (do_printf): Fixed sval overflow bug. Put in a test, and
  2826.     an error message.
  2827.  
  2828. Tue Sep 15 22:31:16 1992  Ian Searle  (ian@quixote)
  2829.  
  2830.     * code.c (list_member): Added more error checking, and .class
  2831.     capability for user and bltin functions.
  2832.  
  2833.     * matrix_comp.c (matrix_Eig_GSEP): New function.
  2834.  
  2835. Mon Aug 10 00:05:41 1992  Ian Searle  (ian@quixote)
  2836.  
  2837.     * print.c (Printf): New Function.
  2838.  
  2839. Thu Aug  6 18:53:35 1992  Ian Searle  (ian@quixote)
  2840.  
  2841.     * matrix_comp.c (Qr): Add COMPLEX qr() matrix_QrZ().
  2842.  
  2843.     * matrix_comp.c (Qr): Add install() calls.
  2844.  
  2845.     * math_1.c (Solve): Allow vector, or column matrix as 2nd arg.
  2846.  
  2847.     * rlab.y (yyparse): Add error checking for break and continue
  2848.     outsid of loops.
  2849.  
  2850.     * bltin.c (Zero): if zero() called with no arg of 0 return a
  2851.     scalar. 
  2852.  
  2853. Wed Aug  5 20:50:50 1992  Ian Searle  (ian@quixote)
  2854.  
  2855.     * Added ./lib/editline; a readline(3) like library, but smaller.
  2856.  
  2857. Tue Aug  4 21:36:39 1992  Ian Searle  (ian@quixote)
  2858.  
  2859.     * code.c (function_return): Set the name of an object to 0 when we
  2860.     zero out the name of the entity, returning local datums only.
  2861.  
  2862.     * bltin.c (Size): Make size() return 1 for size of a scalar.
  2863.  
  2864.     * code.c, functi[ch]: Added capability to print() to print
  2865.     function op-codes when -d is used.
  2866.  
  2867.     * Finished up most of relational ops (matrix-scalar).
  2868.  
  2869. Sun Aug  2 11:09:21 1992  Ian Searle  (ian@quixote)
  2870.  
  2871.     * relation.c, complex.[ch], scalar_op1.[ch], vector_op1.[ch]:
  2872.     working on finishing up the vector - scalar realtional ops.
  2873.  
  2874.     * code.c (find_lineno): (*--p) prevented checking current lineno. 
  2875.  
  2876. Fri Jul 31 20:39:38 1992  Ian Searle  (ian@quixote)
  2877.  
  2878.     * code.[ch], rlab.y, dissassem.c, main.c: Added file name, and
  2879.     line numbers to error messages. Some new functions...
  2880.     find_lineno(), find_file_name().
  2881.  
  2882. Tue Jul 28 23:38:03 1992  Ian Searle  (ian@quixote)
  2883.  
  2884.     * Have added the basics of complex variables, constants, etc...
  2885.     Have re-checked everything in after extensive changes to many
  2886.     files, and some brand-new files.
  2887.  
  2888.